==和equals()区别

原创 2015年07月08日 20:55:35
凡是比较基本类型只能用==,比较结果你看到的字面值相等就会相等,什么叫基本类型? byte,short,int,long,char,float,double这几种就是基本类型.基本类型不是对象所以不存在用equals比较.凡是比较引用类型(对象),==比较的是两个引用是不是指向同一个内存地址,equals比较的是两个引用的字面值是不是相同,什么叫字面值?你能看到的值就是字面值,比如:String s="abc"; abc就是字面值.基本类型的包装类型是对象类型,所以除非两个相同字面值的引用指向同一内存地址,值才会相等,比如:Integer a=new Integer(3);Integer b=a;//互相赋值这样用等号或equals比较都会得出true,记住一点,凡是两个引用都用了new去初始化,那==比较的结果都只会是false,互相之间有了赋值,比较结果就为true.比较不好理解的一点:String a="abc";String b="abc";a==b和a.equals(b);结果都会为true,因为没有用new去新建对象,其实a和b都指向的是同一个String对象"abc",改成:String a=new String("abc");String b=new String"abc");后==的结果就是false了.总之参照上面的说明,不难理解.

相关文章推荐

==和equals的应用区别

  • 2012年06月12日 15:31
  • 12KB
  • 下载

==和equals方法究竟有什么区别

  • 2013年04月22日 10:17
  • 11KB
  • 下载

Java面试题之==和equals的区别

在java程序设计中,经常需要比较两个变量值是否相等。例如 1、简单数据类型比较 a = 10; b = 10; if(a == b){    //写要执行的代码 } 2、引用数据类型比...

equals(Object) 与 == 的区别

  • 2010年09月03日 15:49
  • 27KB
  • 下载

==和equals的区别

  • 2013年09月10日 14:27
  • 47KB
  • 下载

hashCode与equals的区别与联系

一、equals方法的作用    1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引...
  • afgasdg
  • afgasdg
  • 2011年10月20日 03:01
  • 77175

Java中的==和equals区别

  • 2013年01月30日 10:23
  • 15KB
  • 下载

java中equals和==的区别.doc

  • 2011年06月02日 09:49
  • 42KB
  • 下载

Java学习从菜鸟变大鸟之一 hashCode()和equals()的本质区别和联系

equals()是判读两个Set是否相等[前提是equals()在类中被覆盖]。==决定引用值是否指向同一对象。 1、当向集合set中增加对象时,首先计算要增加对象的hashCode码,根据该值来得到...
  • lishehe
  • lishehe
  • 2014年01月28日 11:43
  • 4557
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:==和equals()区别
举报原因:
原因补充:

(最多只允许输入30个字)