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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姜胜凯 中级黑马   /  2014-1-22 22:04  /  1608 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 姜胜凯 于 2014-1-23 10:26 编辑

16、下面的代码有什么不妥之处?
     1. if(username.equals(“zxx”){}
2. int  x = 1;

return x==1?true:false;
这是我在张老师就业面试宝典中看到了。一直没分析透。求大神分析下 怎么不妥~~

评分

参与人数 1技术分 +1 收起 理由
黄晓鑫 + 1

查看全部评分

4 个回复

倒序浏览
不太理解你说的是什么意思
1.应该这么写:if("zxx".equals(usename)),如果你那么写username是null的话就会报空指针异常。
2.用三目运算符减少了代码的行数吧

评分

参与人数 1技术分 +1 收起 理由
黄晓鑫 + 1

查看全部评分

回复 使用道具 举报
第一句最好是写成
  1. if("zxx".equals(username)){}
复制代码
可以防止空指针异常,第二句是个三元运算符,如果x==1,返回true,否则返回false,相当于
  1. if(x==1)
  2.       return true;
  3. else
  4.       return false;
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄晓鑫 + 1

查看全部评分

回复 使用道具 举报
1. 就是他们说的空指针问题!
2.语法没有错误返回的是true! 永真的! 但是问题是return x==1 ;  和return x==1?true:false;表达一样,属于语法上的冗余!这就是不妥之处!

tttt.png (192.38 KB, 下载次数: 71)

tttt.png

wwwww.png (5.68 KB, 下载次数: 64)

wwwww.png

评分

参与人数 1技术分 +1 收起 理由
黄晓鑫 + 1

查看全部评分

回复 使用道具 举报
kkopopo 发表于 2014-1-22 23:33
1. 就是他们说的空指针问题!
2.语法没有错误返回的是true! 永真的! 但是问题是return x==1 ;  和return  ...

很详细~~非常感谢~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马