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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zczcyc0201 中级黑马   /  2012-10-11 13:20  /  2635 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. if(username.equals(“zxx”){}
   2.  int  x = 1;
    return x==1?true:false;

面试宝典里面没有答案啊

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 赞一个!

查看全部评分

12 个回复

倒序浏览
本帖最后由 李兆宁 于 2012-10-11 13:26 编辑

第一行少半个括号,。。
第二行,没发现。。或者不够简练,直接return x==1;
回复 使用道具 举报
1、 if(username.equals(“zxx”){}
如果username为null会报出异常,应该些微if("zxx".equals(username)){}

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
只看到第一行后面少个括号
回复 使用道具 举报
第一个像楼上几位同学说的,少了半个括号。
第二个你写的return应该不是用在这里,return一般写在函数里,将结果返回给函数调用处,还可以写在构造函数中,用来结束函数。你这里如果写在主函数中,是要返给虚拟机的,虚拟机接收数据没有意义啊。
回复 使用道具 举报
二楼正解啊 null调用某个方法会发生异常
回复 使用道具 举报
改写后你再看:
1. if("zxx".equals(username){}
2.  int  x = 1;
    return x==1;

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
梁俊 黑马帝 2012-10-11 13:55:35
8#
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;
回复 使用道具 举报
1.if(username.equals("zxx")){}
如果username为空,调用equals方法就会出现空指针异常,如果换过来username为空,"zxx"equals(username)条件为假,判断语句就不会执行,避免了空指针的异常

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
以我的水平 我看到的 只有书写错误
回复 使用道具 举报
第二问直接return x==1就行了吧?
回复 使用道具 举报
曾浩 中级黑马 2012-10-11 16:13:27
12#
1.因为username有可能是null的 当username是null时调用equals会出现空指针异常
应该换成"zxx".equals(username)  
2. 直接return x==1 就ok了  你懂的

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
第一行代码,自然是各位楼上说的空指针异常问题和缺一个“)”
而第二行代码小弟有点见解:
第一:直接return x==1没意义啊,这样的话,直接return true就是了啊
第二:个人觉得这段代码应该放在一个方法里,貌似更有意义
public int name() {
                int x=1;
                return x==1?true:false;
        }
这个错误大家知道吧,试着直接return x==1试试?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马