String s1="abc";
String s2="abc";
System.out.println(s1==s2);//true
System.out.println(s1.eqauls(s2));//true
//创建了几个对象?
String s1=new String("abc");//两个对象,常量池新对象及堆内存一个副本
String s1=new String("abc");
String s2="abc";
System.out.println(s1==s2);//false,地址值不同
System.out.println(s1.eqauls(s2));//true,常量池
String s1="a"+"b"+"c";
String s2="abc";
System.out.println(s1==s2);//true,常量优化机制,编译器完成字符串,s1创建,s2不用操作
System.out.println(s1.eqauls(s2));//true
String s1="ab";
String s2="abc";
String s3=s1+"c";
System.out.println(s3==s2);//false
System.out.println(s3.eqauls(s2));//true
Java学习笔记19:==与equals用法比较
猜你喜欢
转载自blog.csdn.net/qq_30242987/article/details/85680664
今日推荐
周排行