一 点睛
在Java中,有两种方式可用于对象间的比较:
- 利用"=="运算符:用于比较两个对象的内存地址值(引用值)是否相等。
- 利用equals()方法:用于比较两个对象的内容是否一致。
二 "=="运算符的比较
1 代码
public class CompareObject1
{
public static void main( String[] args )
{
String str1 = new String( "java" );
String str2 = new String( "java" );
String str3 = str2;
if( str1 == str2 ) // 比较str1和str2
{
System.out.println( "str1 == str2" );
}
else
{
System.out.println( "str1 != str2" );
}
if( str2 == str3 ) // 比较str2和str3
{
System.out.println( "str2 == str3" );
}
else
{
System.out.println( "str2 != str3" );
}
}
}
2 运行
str1 != str2
str2 == str3
3 图解说明
三 利用equals()方法进行比较
1 代码
public class CompareObject2
{
public static void main( String[] args )
{
String str1 = new String( "java" );
String str2 = new String( "java" );
String str3 = str2 ;
if( str1.equals( str2 ) ) // 比较str1和str2
{
System.out.println( "str1 == str2" );
}
else
{
System.out.println( "str1 != str2" );
}
if( str2.equals( str3 ) ) // 比较str2和str3
{
System.out.println( "str2 == str3" );
}
else
{
System.out.println( "str2 != str3" ) ;
}
}
}
2 运行
str1 == str2
str2 == str3
3 小结
"=="是比较对象内存地址值,而equals方法才是比较对象的内存。