equals(Object obj)
当前对象和参数对象比较大小,默认是比较内存地址,如果要比较对象的属性,可以重写该方法。
创建String对象
方式1:new String(char[])
char[] c = {‘a’,‘b’,‘c’,‘d’};
String s = new String©;//堆中分配新的内存
方式2:直接创建
String s2=“abcd”;//常量池中分配新的内存
System.out.println(s2);
//如果使用过了就不再创建,引用存在的对象
String s3=“abcd”;//访问常量池中已经存在的对象
System.out.println(s3==s2);//true
System.out.println(s==s2); false//地址不同
System.out.println(s.equals(s2)); true//内容相同

本文探讨了Java中字符串对象的创建方式及内存分配的区别。通过new关键字创建的字符串对象存储于堆中,而直接定义的字符串常量则存储于常量池。文章详细解释了如何使用equals方法比较字符串内容而非内存地址。

3577

被折叠的 条评论
为什么被折叠?



