A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有两种方式可用于对象比较,分别是“==”和equals(),==用于比较两个对象的内存地址值是否相等,equals()方法用于比较两个对象的内容是否一致。
  1. class TestEquals
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String str1=new String("java");
  6.                 String str2=new String("java");
  7.                 String str3=str2;
  8.                 if (str1==str2)
  9.                 {
  10.                         System.out.println("str1==str2");
  11.                 }
  12.                 else{
  13.                         System.out.println("str1!=str2");
  14.                 }
  15.                 if (str2==str3)
  16.                 {
  17.                         System.out.println("str2==str3");
  18.                 }
  19.                 else{
  20.                         System.out.println("str2!=str3");
  21.                 }
  22.         }
  23. }
复制代码
运行结果为s



str1!=str2是因为str1和str2都是用new关键字开辟的空间,所以他们单独占有自己的内存空间,从而str1!=str2,而str3和str2指向了同一个内存空间,所以相等。下面再来看equals(0的比较
  1. class TestEquals1
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String str1=new String("java");
  6.                 String str2=new String("java");
  7.                 String str3=str2;
  8.                 if (str1.equals(str2))
  9.                 {
  10.                         System.out.println("str1 equals str2");
  11.                 }
  12.                 else{
  13.                         System.out.println("str1 not equals str2");
  14.                 }
  15.                 if (str2.equals(str3))
  16.                 {
  17.                         System.out.println("str2 equals str3");
  18.                 }
  19.                 else{
  20.                         System.out.println("str2 not equals str3");
  21.                 }
  22.         }
  23. }
复制代码


由此可以看出两次比较都相同,所以可以知道equals是String类中的方法。所以equals是用来比较内容的而==用来比较内存地址值

2 个回复

倒序浏览

第一个程序运行结刚才漏传:L
回复 使用道具 举报
那是因为String类中equals是被重新覆写过的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马