本帖最后由 Accoss-x 于 2015-12-28 01:39 编辑
字符串一旦初始化就不可以改变 String s = new String("abc");与String s1 = "abc";的区别
第一种,在内存中有俩个对象存在,第二种在内存中只有一个对象存在。
第一种当用new关键字时,在堆内存中创建了一个对象
然后在在方法区中的字符串常量池创建了abc这个对象,然后把对象abc的
地址传给new String(),然后再把new String()的地址在传递给s。
第二种是先查看字符串常量池中是否有abc,如果有就直接指向,如果没有、则在字符串常量池中创建abc。
String s = null;表示s这个对象不存在。
isEmpty()是判断字符串中是否有数据,如果有则返回false
|
|