3.判断下面代码是否有问题

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

1.一个变量直接调用equals方法会给程序带来安全隐患,直接调用equals方法可能会抛出NullPointerException异常。为了防止程序抛出异常在调用equals方法之前要先判断一下是否为空。

if( username!=null && username.equals(“zxx”){}这样写才完整。

public class Test12 {
    public static String  username;
    public static void main(String[] args) { 
        /*if(username.equals("zxx")){
            System.out.println("haha");       false  Exception in thread "main" java.lang.NullPointerException
                 }*/                                        at zhongqiu.test.Test12.main(Test12.java:6) 

        /*if( username!=null && username.equals("zxx")){
            System.out.println("haha");                  true
        }*/
        if( "ss".equals(username)){
            System.out.println("haha");                true  
        }
    }
}

username有可能为null,就会抛出空指针异常,
更好的写法是: if("zxx".equals(username){} ,

username.equals();如果username是空的话,系统就不认他是一个string,此时调用equals就报错了。

但是把string作为参数的话,是没有问题的


2,第二个 return x==1?true:false 这样写纯属多余

因为 x==1已经是个布尔值了。所以去掉"?true:false",保证程序的简洁



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值