黑马程序员技术交流社区

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

作者: 姜胜凯    时间: 2014-1-22 22:04
标题: 求分析代码
本帖最后由 姜胜凯 于 2014-1-23 10:26 编辑

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

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


作者: 孤独的天奇    时间: 2014-1-22 23:02
不太理解你说的是什么意思
1.应该这么写:if("zxx".equals(usename)),如果你那么写username是null的话就会报空指针异常。
2.用三目运算符减少了代码的行数吧
作者: panzhenglian    时间: 2014-1-22 23:27
第一句最好是写成
  1. if("zxx".equals(username)){}
复制代码
可以防止空指针异常,第二句是个三元运算符,如果x==1,返回true,否则返回false,相当于
  1. if(x==1)
  2.       return true;
  3. else
  4.       return false;
复制代码


作者: kkopopo    时间: 2014-1-22 23:33
1. 就是他们说的空指针问题!
2.语法没有错误返回的是true! 永真的! 但是问题是return x==1 ;  和return x==1?true:false;表达一样,属于语法上的冗余!这就是不妥之处!

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

tttt.png

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

wwwww.png

作者: 姜胜凯    时间: 2014-1-23 08:40
kkopopo 发表于 2014-1-22 23:33
1. 就是他们说的空指针问题!
2.语法没有错误返回的是true! 永真的! 但是问题是return x==1 ;  和return  ...

很详细~~非常感谢~~




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