字符串:
字符串对象是不可变的。
字符串的引用可以改变。
字符串在底层通过char字符数组来存储。一个char:2字节。
先在常量池里面查找,如果有直接引用;没有则创建新对象,放入常量池。
字面量进行的赋值操作则会进行常量池查找,如果是new,则不会,而是直接new新的对象。
池:为了重用。
java在编译时做了一个优化,若计算两边的类容都是字面量,则会进行计算,将结果生成到.class文件中,所以字字节码文件中我们看到的是如下类容:
string str4 = hello + world ------>string str4 = helloworld
string s1=”abc123“;
string s2=”abc“+123;
s1 == s2 true
若计算两边其中有一个为变量,则不会进行优化,也就是不会被放入常量池。不能重用。
string str5 = str4 +world ------->string str5 = str4+world
string类一系列的方法
stringbuilder类的方法
stringbuilder类和stringbuffer类的区别
string类和stringbuilder类的区别。
|
|