黑马程序员技术交流社区

标题: 这个代码到底有什么不妥之处? [打印本页]

作者: zczcyc0201    时间: 2012-10-11 13:20
标题: 这个代码到底有什么不妥之处?
1. if(username.equals(“zxx”){}
   2.  int  x = 1;
    return x==1?true:false;

面试宝典里面没有答案啊

作者: 李兆宁    时间: 2012-10-11 13:25
本帖最后由 李兆宁 于 2012-10-11 13:26 编辑

第一行少半个括号,。。
第二行,没发现。。或者不够简练,直接return x==1;
作者: 张忠豹    时间: 2012-10-11 13:27
1、 if(username.equals(“zxx”){}
如果username为null会报出异常,应该些微if("zxx".equals(username)){}

作者: 马磊    时间: 2012-10-11 13:27
只看到第一行后面少个括号
作者: 张丽    时间: 2012-10-11 13:35
第一个像楼上几位同学说的,少了半个括号。
第二个你写的return应该不是用在这里,return一般写在函数里,将结果返回给函数调用处,还可以写在构造函数中,用来结束函数。你这里如果写在主函数中,是要返给虚拟机的,虚拟机接收数据没有意义啊。
作者: zczcyc0201    时间: 2012-10-11 13:36
二楼正解啊 null调用某个方法会发生异常
作者: 王震阳老师    时间: 2012-10-11 13:40
改写后你再看:
1. if("zxx".equals(username){}
2.  int  x = 1;
    return x==1;
作者: 梁俊    时间: 2012-10-11 13:55
1. if(username.equals(“zxx”){}
   2.  int  x = 1;
    return x==1?true:false;
1少了括号应该是 if(username.equals("zxx")){}
2是不是应该是return (x==1)?true:false;
作者: 美芭莎    时间: 2012-10-11 14:01
1.if(username.equals("zxx")){}
如果username为空,调用equals方法就会出现空指针异常,如果换过来username为空,"zxx"equals(username)条件为假,判断语句就不会执行,避免了空指针的异常
作者: 班志国    时间: 2012-10-11 14:17
以我的水平 我看到的 只有书写错误
作者: 官仁杰    时间: 2012-10-11 14:34
第二问直接return x==1就行了吧?
作者: 曾浩    时间: 2012-10-11 16:13
1.因为username有可能是null的 当username是null时调用equals会出现空指针异常
应该换成"zxx".equals(username)  
2. 直接return x==1 就ok了  你懂的
作者: 杨志男    时间: 2012-10-11 19:58
第一行代码,自然是各位楼上说的空指针异常问题和缺一个“)”
而第二行代码小弟有点见解:
第一:直接return x==1没意义啊,这样的话,直接return true就是了啊
第二:个人觉得这段代码应该放在一个方法里,貌似更有意义
public int name() {
                int x=1;
                return x==1?true:false;
        }
这个错误大家知道吧,试着直接return x==1试试?





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