永发信息网

有没有这种情况(java):==比较的返回值为true, equals比较的返回值false。

答案:1  悬赏:80  手机版
解决时间 2021-04-18 07:11
有没有这种情况(java):==比较的返回值为true, equals比较的返回值false。
最佳答案
java中,
(1)对于字符串变量来说,equal比较的两边对象的内容,所以内容相同返回的是true。
至于你没问到的“==”,比较的是内存中的首地址,所以如果不是同一个对象,“==”不会返回true 而是false。
举个简单的例子,
String s1="abc", s2="abc";
String s3 =new String("abc");
String s4=new String("abc");
s1==s2 //true,
s1.equals(s2) //true,
s3.equals(s3) //true,equal比较的是内容
s3==s4//false,==比较的是首地址,所以是false
(2)对于非字符串变量,equals比较的内存的首地址,这时候和==是一样的,即比较两边指向的是不是同一个对象,

Sample sa1 = new Sample();
Sample sa2 = new Sample();
sa1.equals(sa2) //false,因为不是同一对象
注意,如果加上
sa1=sa2;
那么
sa1.equals(sa2) //true

针对你问的,如果你说的两个对象是非字符串的,那么参考第2条;否则请参考第一条追问我的为题冒号后面就是个“==”,哈哈。
我是想问有没有一下这种可能?在做试卷的时候碰到的。
Test a = new Test();
Test b = a;
System.out.println(a == b); // true
System.out.println(a.equals(b)); // false
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
形容高考前紧张的句子,形容快要时高考紧张生
我的世界1.7.10,超能物质mod太阳能电池板和
The students went to the zoo yesterday.(对
已知x二次方加y的二次方减60加4y加13的平方根
停车场(崇宁路)(崇宁路与田基浜交叉口南50米
请教河北百事通的人士
中式吹奏乐器哪个好学,中式乐器里面那个好学
材料证明书怎么写,单位证明信怎么写
我想在下班多余的时间,做点其他,人一定要有
等我长大了四年级诗歌,四年级关于儿童生活无
怎么关掉杀毒软件
长的跟鲫鱼差不多的海里的鱼是什么鱼
综艺节目里经常用的素材,表达尴尬,爆笑,掌声
菜刀用什么快递可以寄,寄电脑主机用什么快递
表扬业绩优秀的句子,对于优秀的员工如何说表
推荐资讯
看开一切的诗句,求形容朋友友谊或者缘分的诗
芡实百荷和薏仁米粥能天天吃吗
朋友渐行渐远的诗句,形容本来感情很好的两个
发给客户的中秋祝福语,平安保险官网国庆祝福
瘦咖减的快吗?
亚当有没有肚脐眼
300度以上是否需要一直带眼镜
喝含碱性大的水好吗?
面粉长了米虫怎么办?
篮球除了手还有哪里可以碰球
审计出来的跨期费用如何做会计调整?
12.5x7.2用两种解决方法
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?