为什么要这样写:if("true".equals(score))----?
如题:
String scroe = "xxx";
if("true".equals(score))
{
//.....
}
这样写有什么好处呢?
问题点数:0、回复次数:33Top
1 楼yeyu710(叶雨)回复于 2005-06-03 13:46:18 得分 0
楼主什么意思啊?
这是字符串比较啊,你要什么好处啊Top
2 楼kenvinp(kenvinp)回复于 2005-06-03 13:51:51 得分 0
和if(score.equals("true"))
{
//.....
}
一样的意思.
Top
3 楼tiaoci(我挑刺,我快乐)回复于 2005-06-03 14:53:09 得分 0
当然不一样啊,如果 score 是 null的话
if(score.equals("true")) 就出错liao
Top
4 楼ll42002(灰舌)回复于 2005-06-03 14:58:17 得分 0
tiaoci(我挑刺,我快乐)说得正确。Top
5 楼xiaobudian125(Amamn)回复于 2005-06-03 15:17:35 得分 0
score是一个object. 如果你相比较score的内容即字符串值得比较就需要用equals, 而不能用==,==用于object得比较。Top
6 楼imante(ante)回复于 2005-06-03 15:30:10 得分 0
if(score.equals("true"))
{
//.....
}
这样如果score为null的话,就会NUllPointerExceptionTop
7 楼njqibin(杉树林)回复于 2005-06-03 16:35:50 得分 0
tiaoci(我挑刺,我快乐)说得正确。
这是防止错误的一种手段,良好的代码习惯Top
8 楼zwm1988(风清云淡)回复于 2005-06-03 16:54:36 得分 0
markTop
9 楼cnyyk(Stay Hungry. Stay Foolish.)回复于 2005-06-03 20:13:53 得分 0
防止错误的一种手段
良好的代码习惯Top
10 楼stone_q(Java虫)回复于 2005-06-03 21:39:50 得分 0
"true".equals(score)是比较两个字符串是否相等,==在字符串的比较中是判断两个字符串对象是否指向同一个字符串Top
11 楼hcom(迷失在爪哇世界中)回复于 2005-06-03 21:54:22 得分 0
upTop
12 楼feng198424(无花无酒锄作田)回复于 2005-06-03 22:31:11 得分 0
强人
学习中……Top
13 楼aurain(aurain)回复于 2005-06-04 01:26:27 得分 0
明白了Top
14 楼uow30(TheU)回复于 2005-06-04 02:20:45 得分 0
学习ing......Top
15 楼gaoss78()回复于 2005-06-04 10:18:16 得分 0
up
Top
16 楼ftiger(哈哈鱼)回复于 2005-06-04 10:24:05 得分 0
又学一招。Top
17 楼xjjava(野马)回复于 2005-06-04 10:27:09 得分 0
为什么这样不会抛出NUllPointerException?
if("true".equals(score))
{
//.....
}
而以下这样却会抛出异常?
if(score.equals("true"))
{
//.....
}
Top
18 楼nickchai(菜虫)回复于 2005-06-04 17:18:36 得分 0
楼上的比我菜....嘿嘿.....Top
19 楼goodsong(风卷残云~不要把简单的事搞得N复杂)回复于 2005-06-05 10:57:18 得分 0
楼上的楼上比我菜....嘿嘿.....Top
20 楼airhand(暴风雨)回复于 2005-06-05 11:04:21 得分 0
防止出错的方法,把常量写在前面.
在C++中
if (SOCKET_ERROR==result){..}
也是这个道理,如果反过来不小心写成了
if(result=SOCKET_ERROR){..}编译器就查不出来,因为语法正确,比较变成了赋值,后果很严重.Top
21 楼xjjava(野马)回复于 2005-06-11 18:43:24 得分 0
to goodsong(风卷残云~不要把简单的事搞得N复杂:
帅哥,只从这个你自怎知道我比你菜啊?若你知道,帮我解决一下也好啊!谢谢了!Top
22 楼lifeng800(j2ee学习中)回复于 2005-06-11 19:40:33 得分 0
up!!Top
23 楼zhengjing01(百事可乐)回复于 2005-06-11 22:02:21 得分 0
upTop
24 楼yeshucheng(叶澍成★七哥)回复于 2005-06-12 11:31:09 得分 0
其实意思是同一个,但是向楼主发出的这样写法习惯不大好而已Top
25 楼hfree()回复于 2005-06-12 20:41:08 得分 0
虽是小招,却N管用.Top
26 楼charmgjj(杰)回复于 2005-06-12 20:56:24 得分 0
支持 stone_q(Java虫)Top
27 楼wangsheng1028(java菜)回复于 2005-06-12 21:57:40 得分 0
好处是担心传入的参数为null
如果为null的话要抛异常的耶。Top
28 楼kypfos(不在寻梦)回复于 2005-06-13 10:16:13 得分 0
java中字符串比较用
"true".equals(score)
但是比较基本类型我还是用
aNumber==2
我不喜欢写作2==aNumber
因为java中不会出现c++中那样的错误
况且关注的是aNumber变量Top
29 楼ukey235(a)回复于 2005-06-13 10:37:32 得分 0
学习Top
30 楼ghostsG(GCool)回复于 2005-06-13 10:39:59 得分 0
ignore null exceptionTop
31 楼darkattack(居士)回复于 2005-06-13 10:53:14 得分 0
避免空指针异常Top
32 楼gks_cn(981530)回复于 2005-06-13 15:24:04 得分 0
这样可以避免空指真错误。Top
33 楼jianggl88(亮)回复于 2005-06-13 16:10:40 得分 0
出两次错你就知道会有什么好处了!Top




