黑马程序员技术交流社区

标题: name.equals("yellowcong") 和"yellowcong".equals(name) 问题 [打印本页]

作者: 狂飙的yellow.co    时间: 2013-6-7 13:20
标题: name.equals("yellowcong") 和"yellowcong".equals(name) 问题
name.equals("yellowcong") 和"yellowcong".equals(name) 这两个有啥区别和问题。。。。。。。。。。。
作者: msileandroid    时间: 2013-6-7 14:12
  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. }
复制代码

作者: 杜光    时间: 2013-6-7 15:07
  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 是比较两个字符串是否相等

==  是比较两个字符串在堆内存中的地址是否相等!

作者: 狂飙的yellow.co    时间: 2013-6-7 15:58
杜光 发表于 2013-6-7 15:07
根据lz的描述应该是要表达

qeuals 和 “==”的区别吧?

这个 "==" 和 equals 这个我知道啊。。。。。

作者: 狂飙的yellow.co    时间: 2013-6-7 15:58
msileandroid 发表于 2013-6-7 14:12

哥们,问题不在这儿,你说的不算对
作者: 风云    时间: 2013-6-7 19:13
name.equals("yellowcong“)如果你的name是null 就会报空指针异常 不推荐使用
yellowcong".equals(name)是推荐用法 不会报异常!
作者: 杨增坤    时间: 2013-6-13 08:16
name.equals("yellowcong") 和"yellowcong".equals(name)
这两个的联系和区别是:
联系:就是他们比较的都是内容,而不是地址。如果用==来比较的话,那么比较的是地址
区别:
name.equals("yellowcong")  name是一个变量,那么他以为为空,这样比较起来有时候会不太好,如果用"yellowcong".equals(name)     "yellowcong"是常量,那么他会肯定不为空,所以这种方式我感觉比前一种好!希望随你有所帮助!
  
作者: 杨增坤    时间: 2013-6-13 08:17
name.equals("yellowcong") 和"yellowcong".equals(name)
这两个的联系和区别是:
联系:就是他们比较的都是内容,而不是地址。如果用==来比较的话,那么比较的是地址
区别:
name.equals("yellowcong")  name是一个变量,那么他以为为空,这样比较起来有时候会不太好,如果用"yellowcong".equals(name)     "yellowcong"是常量,那么他会肯定不为空,所以这种方式我感觉比前一种好!希望随你有所帮助!
  




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