黑马程序员技术交流社区
标题:
"a".equals(s)与s.equals("a")的区别
[打印本页]
作者:
MGC
时间:
2014-8-6 17:16
标题:
"a".equals(s)与s.equals("a")的区别
String s={a};
想请问"a".equals(s)与s.equals("a")的区别
作者:
执笔梦
时间:
2014-8-6 17:24
s.equals("a")中的s可能为null.可能抛空指针异常
作者:
小黑子
时间:
2014-8-6 17:28
表示刚看到异常…………不懂。。。。
作者:
kakasa
时间:
2014-8-6 20:16
看不懂。。、
第一句到底什么意思。。
作者:
戒风
时间:
2014-8-6 20:33
不懂,这是哪块的问题?
作者:
as_heima
时间:
2014-8-6 20:47
"a".equals(s) 这个因为肯定可以点出equals方法与s相比较,而s.equals("a")这个如果s里为空,因为空根本点不出equals方法,所以一般这样判断的时候,最好还是用"a".equals(s) 这种写法:lol
作者:
南柯一梦
时间:
2014-8-6 20:53
表示语法错误,希望附上源码
作者:
晓风
时间:
2014-8-6 20:54
因为s是一个变量,所以s可能为空,则s.equals("a")运行时可能抛空指针异常;"a"表示一个字符串对象,不可能为空,所以"a".equals(s)运行是不会跑空指针异常。
作者:
zhouqun
时间:
2014-8-6 21:44
s可能为空
作者:
MGC
时间:
2014-8-7 00:22
as_heima 发表于 2014-8-6 20:47
"a".equals(s) 这个因为肯定可以点出equals方法与s相比较,而s.equals("a")这个如果s里为空,因为空根本点 ...
好的,明白了谢谢:handshake
作者:
hmid
时间:
2014-8-7 00:59
沙发说的没错
作者:
M单色调
时间:
2014-8-7 08:30
点前常用变量,这是编码习惯!主要是为了防止空指针异常!
作者:
申航航
时间:
2014-8-7 08:38
怎么回事啊
作者:
黑马_java猿
时间:
2014-8-7 09:07
相等吧 是吗
作者:
小小菜鸟007
时间:
2014-8-7 09:13
第一种不会抛异常吗?
作者:
李章敏
时间:
2014-8-7 09:13
s是一个变量,所以s可能为空,则s.equals("a")运行时可能抛空指针异常;"a"表示一个字符串对象,不可能为空,所以"a".equals(s)运行是不会跑空指针异常。
作者:
justin1258
时间:
2014-8-7 09:34
后者需要先判断s是否为null,前者不需要
作者:
渠嘉树
时间:
2014-8-7 09:52
{:3_48:}......................
作者:
渴望学习
时间:
2014-8-7 11:29
路过 2楼 正解!!
作者:
莫忘本心
时间:
2014-8-7 12:49
常量放前面
作者:
AEhaojiu
时间:
2014-8-7 12:54
前者不会抛出空指针的异常 后者会 因为s可能为null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2