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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM谢文辉 中级黑马   /  2013-4-3 20:09  /  1425 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HM谢文辉 于 2013-4-4 08:12 编辑

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

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

4 个回复

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


评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
if(username.equals(“zxx”){}
首先是命名,标示符都是遵循驼峰式规范,其次就是“zxx”应该与username位置对换一下,要是username再前面的话,若果出现username为空值,会出现异常,不能得到结果;“zxx”在前面的话,无论username是否为空,都能得到比较的结果!
returnx==1?true:false;
x==1得到的本来就是一个布尔值,这样用三目运算符显然显得有点多余,问号后面的不要就可以了!

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
lcjasas 发表于 2013-4-3 20:31
1.if(username.equals(“zxx”){},这个不是少了右边的一个括号吗?还是楼主手误了?
  如果没有手误,那应 ...

知道了。谢谢
回复 使用道具 举报
黑马-郑玉元 发表于 2013-4-3 20:34
if(username.equals(“zxx”){}
首先是命名,标示符都是遵循驼峰式规范,其次就是“zxx”应该与username位 ...

谢谢。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马