Java中“==”和“equales()”的区别

2021/9/20 17:29:42

本文主要是介绍Java中“==”和“equales()”的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在判断字符串相等时,==是在比较对象地址是否相等,而equales()是在比较两个对象中的值是否相等

结合代码分析:

String s1="abc";
String s2="abc";
String a1=new String("abc");
String a2=new String("abc");
System.out.println("s1地址:"+System.identityHashCode(s1));
System.out.println("s2地址:"+System.identityHashCode(s2));
System.out.println("a1地址:"+System.identityHashCode(a1));
System.out.println("a2地址:"+System.identityHashCode(a2));
System.out.println(s1.equals(s2));
System.out.println(s1.equals(a1));
System.out.println(a1.equals(a2));
if(s1==s2) System.out.println("true");else System.out.println("false");
if(s1==a1) System.out.println("true");else System.out.println("false");
if(a1==a2) System.out.println("true");else System.out.println("false");

运行结果是

s1地址:460141958
s2地址:460141958
a1地址:1163157884
a2地址:1956725890
true
true
true
true
false
false


这篇关于Java中“==”和“equales()”的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程