Strings
- String are immutable objects, so when you trying
to change it like: "s.concat("bla")" - you not
changing the current object, you creating the new one
- This statement String s = "dsfsf"
creates new String literal in the run time constant pool and even if the
reference for this literal is lost it still will exist (the most likely)
in memory
- This statement String s = new String
("dsfsf") will create two objects: one on the heap and
second in the run time constant pool there is such String. And the
variable will be reference to the String in the heap
- If call the intern() method it will return the
reference to the same String in the run time constant pool, if
there is no such string there it will create it
- For Strings we can use the += operator
to concatenation and assign in a one line
- Important String methods: charAt(),
concat(), equalsIgnoreCase(), length(), replace(), substring(),
toLowerCase(), toString(), toUpperCase(), trim()
- If you ask charAt() with the index more than
letters in the word-1(indexes starts with 0), you
will get StringIndexOutOfBoundsException
- If you ask substring() with the index more
than letters in the word-1(indexes starts with 0), you won't get an
exception, you will get an empty String
StringBuffer and StringBuilder
- StringBuffer
is StringBuilder
- Important StringBuffer and
StringBuilder methods: append(), delete(), insert(), reverse(),
toString()
- Almost all mentioned methods(except toString) returns
the modified StringBuffer and StringBuilder object, but in comparison
with String this methods change the object on which this methods will be
called
No comments:
Post a Comment