public final class String
源码如上:
1:表明String是不可变的
2:如果发生改变一定是new了一个对象
3:如果String的值相同,那么String所代表的地址也会相同
3:String a = b + c(本质就是调用了new StringBuilder().append(a).append(b).toString)
(不管bc是什么类型的,append方法会调用类型AbstractStringBuilder的append()方法进行转换)
4:当执行一次加法程序的时候,会new一个StringBuilder实例,这并不是一件好事,这会大致
大量的StringBuilder实例的产生,有不必要的内存消耗。此时,效率就不如直接创建一个
StringBuilder来的实在。
5:String应该是java中重要的类了,有运算符重载。
最后String主要的方法。
-1):indexOf() 确定某元素的下标位置
-2):length():确定字符串的长度
-3):substring():取字符串中一段子字符串
-4):spilt():把字符串分割成数组
-5):isEmpty():确定字符串是否为空
-6):getBytes():把字符转化为字节
-7):replace():替换
-8):valueOf:把其他基本类型转化为字符串