A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段燚涛 中级黑马   /  2015-8-1 14:34  /  385 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字符串:
字符串对象是不可变的。
字符串的引用可以改变。
字符串在底层通过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类的区别。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马