教育改变生活
标题:
Java中String字符串的比较
[打印本页]
作者:
一秉
时间:
2020-5-12 17:15
标题:
Java中String字符串的比较
1、String s1 = new String("hs")和String s2 = "hs"的区别
前者会创建两个对象,后者只创建一个对象。
2、==和equals的区别
==比较的是引用类型的地址值是否相同,equals则是比较引用的内容是否相同
3、String str=null 和String str=""的区别?
String str = null 不分配内存空间, string str = "" 分配内存空间,空间大小是空字符串的大小
4、字符串如果是变量相加,先分配内存,在拼接内容;
如果是常量相加,先相加,然后在常量池中找,如果有就直接返回常量池,否则创建新的对象。
通过下列代码输出结果,理解第四点:
String s1 = new String("hello");
String s2 = "hello";
System.out.println(s1 == s2);// false
System.out.println(s1.equals(s2));// true
String s3="hello";
String s4="world";
String s5="helloworld" ;
System.out.println(s5==s3+s4);//false
System.out.println(s5.equals(s3+s4));//true
System.out.println(s5=="hello"+"world");//true
System.out.println(s5.equals("hello"+"world"));//true
欢迎光临 教育改变生活 (http://bbs.goldoar.com/)
Powered by Discuz! X3.2