String有2中创建:一种是直接赋值会创建对象池
另一种是构造方法创建不会自动创建对象池,其中new的时候会出现垃圾被GC回收,可以手动入池:intern()方法
请解释string两种对象实例化方式的区别
直接赋值:开辟一块堆内存,字符串的内容直接入池。攻下一次使用
构造方法:开辟 了两块堆内存,字符创的内容开辟一块,new开辟一块,new的内容放到堆内存里
字符串的内容一旦声明则不可以 改变,改变的是字符串的内存地址指向
将字符串和字段比较的时候,字符串放在前面,防止异常
比如:String str=null;
System.out.println(“Hello”.equals(url));//这样是正确的
String有好多方法见API其中常用的有:endwiths startWith
Split
Replace
Contains
indexOf
Equals
SubString
将首字母变成大写的,比如”hello” s.substring(0,1).toUpperCase().concat(s.substring(1));
www.apache.org