Java中null==1,为什么会报错?

if(a=1){

}

当a=null的时候,会报错,为什么呀?

是不是每一个判断都要先判断a是否等于null?


    String a=null;

    if (a.equals("")) {

        System.out.println(1);

    }


慕仙森
浏览 4634回答 5
5回答

ibeautiful

首先,if(a=1){}这个if条件语句你就写错了,应该写成if(a==1){}其次,对于String的引用类型a如果为空,如果调用a的方法会抛空指针  String a=null;if (a.equals("")) {    System.out.println(1);}如果你这样写,必须要判断a非null,如果你不想写判断a非null这个操作,可以写成String a=null;if("".equals(a)){     System.out.println(1);}

跃然一笑

if语句括号内写的是判断表达式,结果是true或false,你写的a=1是赋值表达式

千万里不及你

括号里是bool型才对,你那个是赋值了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java