永发信息网

关于equals()和==区别

答案:6  悬赏:70  手机版
解决时间 2021-04-08 04:30
  • 提问者网友:泪痣哥哥
  • 2021-04-07 05:49
"+(obj1.equals(obj2 ))); System.out.println("obj1==obj2class A { int a=1; } class Appa { public static void main(String args[]) { A obj1,obj2; obj1=new A(); obj2=new A(); System.out.println("obj1==obj2;+(obj1==obj2)); } } 输出结果为什么都是false阿:&quot
最佳答案
  • 五星知识达人网友:千夜
  • 2021-04-07 07:04
== 和 Equals 的区别
1. == 是一个运算符。
2.Equals则是string对象的方法,可以.(点)出来。

我们比较无非就是这两种 1、基本数据类型比较 2、引用对象比较
1、基本数据类型比较
==和Equals都比较两个值是否相等。相等为true 否则为false;

2、引用对象比较
==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;

需注意几点:
1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;
2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。
所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;
全部回答
  • 1楼网友:迟山
  • 2021-04-07 13:16
这两个比较的都是对象的地址。即obj1和obj2是否都指向同一个对象,而非对象的内容。
  • 2楼网友:怙棘
  • 2021-04-07 11:37
如果数据类型是INT的就用==就判断 如果数据类型是String类型的就用eques去判断! 区别! ==比较引用数据类型时,它比较的是两个引用变量是否指向同一个对象. equals()方法只能比较引用类型,不能比较简单数据类型.该方法在Object类里面定义的,所以,任何一个类,里面都继承了equals()方法 在String类中,对equals方法进行了重写,所以它比较的是类型,内容,而不管是不是同一个对象.
  • 3楼网友:舊物识亽
  • 2021-04-07 10:20
==是指引用指向的同一个对象 equals一般用于两个对象的值比较,而非引用比较,但它的缺省实现而是用==来判断的,这个函数需要在自定义的class里自己实现出来。
  • 4楼网友:青灯有味
  • 2021-04-07 09:28
equals Object 类的一个方法 默认返回的是 false 一般都是采用覆盖equals这个方法来实现比较功能 ==是逻辑运算,逻辑运算比较的方法是值比较`
  • 5楼网友:山君与见山
  • 2021-04-07 08:29
本人不才,现在我来对前面几个人的回答都做补充,呵呵,因为发现他们有不严谨的地方: 1楼: equals()比较的是对象的值,==比较的是对象的地址。 这句话答得没错! 但 这不是string的区别,所有对象都有这区别 如果你不信,随便生成一个object obj 它就有方法可以obj.equals(...); 也就是说equals方法是从object继承来的,java中任何对象都自动有这个方法; 2楼: equals()方法是可以重写的,是正确的.very good 3楼: 这种说法不对。重写equals方法不一定要重写hashcode方法,重写hashcode()方法的目的是给每个对象提供一个不重复的hash码(类似于id),因为得到这个id值后而这个id值又不会和其它对象重复,所以就可以拿这个id来做比值从而返回equals的值 ; 但是我们完全可以不用这个hash码来做比较而可以只凭我们的逻辑来判断。 4楼: 这种说法不对! == 和equals 没有谁比谁优先高级之说,他们是干不同活用的, 你想用谁就用谁,适合不同的情境和地方。 5楼: 这种说法不对!==不是判断对象是否相等,是判断两个对象所引用的内存地址是否是相同的。 另外 .equals()方法绝对不是判断字符串是否相等用的! 这是严重错误, 任何一个object都有equals方法。不单单是字符串! 这两个概念很简单,但总是能混淆广大程序爱好者,建议大家好好打好基本功。 把概念要弄清楚。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯