标签:String name 区别 System equals Cat out
String x = "string"; String y = "string"; String z = new String("string"); System.out.println(x==y); // true System.out.println(x==z); // false System.out.println(x.equals(y)); // true System.out.println(x.equals(z)); // true
class Cat { public Cat(String name) { this.name = name; } private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } Cat c1 = new Cat("王磊"); Cat c2 = new Cat("王磊"); System.out.println(c1.equals(c2)); // false
String s1 = new String("老王"); String s2 = new String("老王"); System.out.println(s1.equals(s2)); // true
1.“==”分析:当比较的是基本数据类型时是值比较,引用型比较时是引用比较。
2.equals()是Object类中的方法,如下:
public boolean equals(Object obj) { return (this == obj); }
可以看到equals本质是引用比较,只是很多类如Integer、String中复写了equals方法,将引用比较转换为了值比较。
标签:String,name,区别,System,equals,Cat,out 来源: https://www.cnblogs.com/wangxiaochao/p/10510904.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。