찾다

 >  Q&A  >  본문

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

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

    String a=null;
    if (a.equals("")) {
        System.out.println(1);
    }
PHP中文网PHP中文网2803일 전838

모든 응답(4)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 10:11:58

    먼저 if 조건문 if(a=1){}을 잘못 작성하셨습니다. if(a==1){}
    두 번째로 String의 참조 유형 a가 다음과 같은 경우입니다. 비어 있음, a의 메소드를 호출하면 널 포인터가 발생합니다
     

    으아아아

    이렇게 쓰면 a가 null이 아니라고 판단하는 연산을 쓰고 싶지 않다면

    처럼 쓰면 됩니다. 으아아아

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:11:58

    a=1의 구문은 무엇입니까?
    If a가 String 유형인 경우;
    a= "1";
    If a가 int 유형인 경우;
    a = 1;
    If a는 int형이고, int형은 null이 없습니다
    null은 String만 판단할 수 있습니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:11:58

    if 문의 괄호 안에 적힌 내용이 판단식이고, 그 결과가 true 또는 false라고 적힌 것이 할당식입니다

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-18 10:11:58

    괄호 안의 유형은 bool이고 귀하의 유형은 과제입니다

    회신하다
    0
  • 취소회신하다