提问一个java的问题:是有关equals()和==的,问题如下

publicstaticvoidmain(String[]args){Integera=newInteger(1);Integerb=newInteger(1);intc... public static void main(String[] args) {
Integer a=new Integer(1);
Integer b=new Integer(1);
int c=1;
Long d=new Long(1);
System.out.println(a.equals(b));
System.out.println(a.equals(c));
System.out.println(b.equals(c));
System.out.println(a.equals(d));
System.out.println("-----------------------");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(b==c);
}

运行结果是
true
true
true
false
-----------------------
false
true
true

这就怪了,a==c为true,b==c为true,a==b怎么就为false了呢?还有为什么a.equals(d)为false呢?
展开
 我来答
离残群vM
2012-10-11
知道答主
回答量:25
采纳率:0%
帮助的人:18.7万
展开全部
我来做个标记,关注下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式