黑马程序员技术交流社区

标题: 分析代码 [打印本页]

作者: HM谢文辉    时间: 2013-4-3 20:09
标题: 分析代码
本帖最后由 HM谢文辉 于 2013-4-4 08:12 编辑

来自java面试题基础部分的一道题
分析下面代码的不妥之处:
1.if(username.equals(“zxx”)){}
2.int x = 1;
return x == 1 ? true : false;


作者: lcjasas    时间: 2013-4-3 20:31
1.if(username.equals(“zxx”){},这个不是少了右边的一个括号吗?还是楼主手误了?
  如果没有手误,那应该会报错,NullPointerException。
2.intx=1;
returnx==1?true:false;
x==1这个表达式本来就返回boolean。不用再?true:false;



作者: 黑马-郑玉元    时间: 2013-4-3 20:34
if(username.equals(“zxx”){}
首先是命名,标示符都是遵循驼峰式规范,其次就是“zxx”应该与username位置对换一下,要是username再前面的话,若果出现username为空值,会出现异常,不能得到结果;“zxx”在前面的话,无论username是否为空,都能得到比较的结果!
returnx==1?true:false;
x==1得到的本来就是一个布尔值,这样用三目运算符显然显得有点多余,问号后面的不要就可以了!
作者: HM谢文辉    时间: 2013-4-4 08:06
lcjasas 发表于 2013-4-3 20:31
1.if(username.equals(“zxx”){},这个不是少了右边的一个括号吗?还是楼主手误了?
  如果没有手误,那应 ...

知道了。谢谢
作者: HM谢文辉    时间: 2013-4-4 08:06
黑马-郑玉元 发表于 2013-4-3 20:34
if(username.equals(“zxx”){}
首先是命名,标示符都是遵循驼峰式规范,其次就是“zxx”应该与username位 ...

谢谢。。。




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