Java中null==1,为什么会报错? 财富值97

2016-10-14 14:21发布

if(a=1){
}
当a=null的时候,会报错,为什么呀?
是不是每一个判断都要先判断a是否等于null?

    String a=null;     if (a.equals("")) {         System.out.println(1);     }
付费偷看设置
发送
6条回答
acer - 这个人很懒,什么都没留下
1楼 · 2016-10-14 14:46.采纳回答

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

首先,if(a=1){}这个if条件语句你就写错了,应该写成if(a==1){}
其次,对于String的引用类型a如果为空,如果调用a的方法会抛空指针
  

mishen - whatsns产品经理
3楼-- · 2016-10-14 14:56

a == null

括号里是bool型才对,你那个是赋值了

如果你这样写,必须要判断a非null,如果你不想写判断a非null这个操作,可以写成

a=1 是什么语法
如果a是String类型;
a= "1";
如果a是int类型;
a = 1;
如果a是int类型,int类型是没有null的
null只能判断String

一周热门 更多>