A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姚伟涛 中级黑马   /  2012-4-25 10:27  /  2346 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

!(3==3)
3!=3
equals()
这三个判断的含义和区别?

4 个回复

倒序浏览
1,2没区别,第三个是用于对象的比较,只有对象重载了该方法才能实现特定的比较,如果没有重载则调用Object的equals方法,只是用==去判断而已。
回复 使用道具 举报
本帖最后由 kevindavid 于 2012-4-25 10:42 编辑

!(3==3)是表示不是3==3
3!=3刚是3不等 于3
equals()则是操作表示的两个变量是否对同一个对象的引用,也就是堆(实体)中的内容是否相同。
回复 使用道具 举报
!(3==3),3!=3。
如果两个比较对象不相等值为‘真’。
equals()
如果两个比较对象相等值为‘真’。

区别是形式不一样,目的是一样的就是比较两个对象是否相等。
回复 使用道具 举报
int a=3;
                int b=3;
                if(!(a==b))
                {
                        System.out.println("!(3==3)");
                }else if(a!=b)
                {
                        System.out.println("3!=3");
                }
                else if(3==3)
                {
                        System.out.println("3==3");  //z执行这里
                }  
   
!(3==3)
3!=3  这两个是一样的效果。
equles是继承了Object定义自己的特有的对比方式,比的是内容、
  1. String a="3";
  2.                 String b="3";
  3.                 if(a.equals(b))
  4.                 {
  5.                         System.out.println("!(3==3)");//执行这里
  6.                 }else if(a==b)
  7.                 {
  8.                         System.out.println("3!=3");
  9.                 }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马