黑马程序员技术交流社区

标题: 关于==于的一个题目 [打印本页]

作者: JinnyZh    时间: 2013-5-16 22:43
标题: 关于==于的一个题目
本帖最后由 JinnyZh 于 2013-5-17 00:15 编辑

public static void main(String[] args) {
     char c = 'x';
     Character c1 = new Character('x');
     System.out.println(c == c1);
}
大概就应该是这样了,这两个是比较的答案是啥~  是包装类拆箱么?
作者: ZhaoYuBetter    时间: 2013-5-16 23:08
应该是吧。反过来用 equals 比 ,也是对的
作者: long    时间: 2013-5-16 23:12
本帖最后由 long 于 2013-5-16 23:17 编辑

c == c1 比较的答案是true,java中==用于比较基本类型时,比较的是左右两边的值,比较引用类型时,比较的则是左右两边的引用是否指向同一个对象。
本例中的c == c1 比较时,包装类拆箱,以方便比较它们的值是否相同,因为比较两个引用是否引用同一个对象意义不大,所以ava中的==倾向于比较基本类型的数值,以提高代码的实用性,优化程序。

作者: 黑马-许鹏    时间: 2013-5-17 03:19
long 发表于 2013-5-16 23:12
c == c1 比较的答案是true,java中==用于比较基本类型时,比较的是左右两边的值,比较引用类型时,比较的则 ...

好详细。厉害




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2