Maison  >  Questions et réponses  >  le corps du texte

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

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

    String a=null;
    if (a.equals("")) {
        System.out.println(1);
    }
PHP中文网PHP中文网2741 Il y a quelques jours788

répondre à tous(4)je répondrai

  • 黄舟

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

    Tout d'abord, vous avez mal écrit l'instruction conditionnelle if if(a=1){}. Elle doit être écrite comme if(a==1){}
    Deuxièmement, si le type de référence a de String est. vide, si l'appel de la méthode de a lancera le pointeur nul
     

    String a=null;
    if (a.equals("")) {
        System.out.println(1);
    }
    

    Si vous écrivez comme ceci, vous devez déterminer que a n'est pas nul. Si vous ne voulez pas écrire l'opération consistant à déterminer que a n'est pas nul, vous pouvez l'écrire comme

    .
    String a=null;
    if("".equals(a)){
         System.out.println(1);
    }

    répondre
    0
  • 天蓬老师

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

    Quelle est la syntaxe de

    a=1 ?
    Si a est de type String;
    a= "1";
    Si a est de type int;
    a = 1;
    Si a est de type int, le type int n'a pas null
    null ne peut juger que String

    répondre
    0
  • 大家讲道理

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

    Ce qui est écrit entre parenthèses dans l'instruction if est une expression de jugement, le résultat est vrai ou faux, et le a=1 que vous avez écrit est une expression d'affectation

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 10:11:58

    Le type entre parenthèses est bool, le vôtre est une mission

    répondre
    0
  • Annulerrépondre