本文实例讲述了Java中对象的比较操作。分享给大家供大家参考,具体如下:

一 点睛

在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方法才是比较对象的内存。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》