zoukankan      html  css  js  c++  java
  • 【Java面试题】6 判断下面代码是否有问题

    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",保证程序的简洁

  • 相关阅读:
    CSS——制作天天生鲜主页
    HTML——制作一个图片列表
    HTML——制作一个简易菜单栏
    CSS——三种页面引入方法
    【20170903】模拟赛
    【LA 3942】 Remember the word
    【BZOJ 1036】 树的统计count
    UVA 12299 RMQ with shifts
    【20170706】次短路
    【20170706】保卫萝卜
  • 原文地址:https://www.cnblogs.com/guweiwei/p/6595992.html
Copyright © 2011-2022 走看看