最近在张孝祥整理的面试题文档中发现了一道比较有意思的面试题:

说说下面的两段代码有什么不妥之处?

//第一段代码 if(username.equals(“zxx”){ } //第二段代码 int x = 1; return x==1?true:false;

第一个程序中,如果username的值为null的话,则会报空指针错误:

                 java.lang.NullPointerException,

所以在实际开发中并不建议这样写,正确的写法应是:


if("zxx".equals(username)){ }

第二个程序中,经过查询,发现很多人也这么用,觉得没什么不妥之处。但是也有人认为,在return中最好不要加一些判断,或者运算之类的东西,本人也比较同意这个观点,而且上面这段代码中的return完全没有必要这样写,直接写成return x==1就可以了,不知道为什么还要使用一个三目运算符。

哪位高人知道,请不吝赐教!!