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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

name.equals("yellowcong") 和"yellowcong".equals(name) 这两个有啥区别和问题。。。。。。。。。。。

7 个回复

倒序浏览
  1. class StringDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String name=null;       
  6.                 //System.out.println(name.equals("yellowcong"));//报空指针异常,程序停止...
  7.                 System.out.println("yellowcong".equals(name));//返回false
  8.         }
  9. }
复制代码
回复 使用道具 举报
  1. class StringDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String name=null;        
  6.                 //System.out.println(name.equals("yellowcong"));//报空指针异常,程序停止...
  7.                 System.out.println("yellowcong".equals(name));//返回false
  8.         }
  9. }
复制代码
根据lz的描述应该是要表达

qeuals 和 “==”的区别吧?


equals 是比较两个字符串是否相等

==  是比较两个字符串在堆内存中的地址是否相等!
回复 使用道具 举报
杜光 发表于 2013-6-7 15:07
根据lz的描述应该是要表达

qeuals 和 “==”的区别吧?

这个 "==" 和 equals 这个我知道啊。。。。。
回复 使用道具 举报

哥们,问题不在这儿,你说的不算对
回复 使用道具 举报
name.equals("yellowcong“)如果你的name是null 就会报空指针异常 不推荐使用
yellowcong".equals(name)是推荐用法 不会报异常!
回复 使用道具 举报
name.equals("yellowcong") 和"yellowcong".equals(name)
这两个的联系和区别是:
联系:就是他们比较的都是内容,而不是地址。如果用==来比较的话,那么比较的是地址
区别:
name.equals("yellowcong")  name是一个变量,那么他以为为空,这样比较起来有时候会不太好,如果用"yellowcong".equals(name)     "yellowcong"是常量,那么他会肯定不为空,所以这种方式我感觉比前一种好!希望随你有所帮助!
  
回复 使用道具 举报
name.equals("yellowcong") 和"yellowcong".equals(name)
这两个的联系和区别是:
联系:就是他们比较的都是内容,而不是地址。如果用==来比较的话,那么比较的是地址
区别:
name.equals("yellowcong")  name是一个变量,那么他以为为空,这样比较起来有时候会不太好,如果用"yellowcong".equals(name)     "yellowcong"是常量,那么他会肯定不为空,所以这种方式我感觉比前一种好!希望随你有所帮助!
  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马