recherche

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

java - 怎么判断map key对应的值是不是空的

System.out.println("a**"+map.get(a).getClass());
System.out.println("a**"+map.get(a));

-------------分割线------------
a**class java.util.ArrayList
a**[]

以上是控制台打印出来的东西。

map.get(a).toString().equals("");一直是false
map.get(a)!=null;一直是true

ringa_leeringa_lee2804 Il y a quelques jours3051

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

  • ringa_lee

    ringa_lee2017-04-18 09:09:32

    if(map.get(a)==null)Vous ne savez pas s'il est vide ?

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:32

    En Java, les tableaux nuls et vides ne sont pas le même concept. Si vous souhaitez déterminer si le tableau est vide, vous pouvez l'écrire comme ceci.

    `
    if (map.get(a) == null || map.get(a).size() == 0)
    `

    S'il s'agit d'un environnement de production, il est recommandé d'utiliser des classes d'outils, telles que apache common ou Spring Provides CollectionUtils.isEmpty(map.get(a))

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 09:09:32

    Si une ArrayList a été instanciée, elle n'est certainement pas égale à null.
    Puisque la méthode toString peut être exécutée sans signaler d'erreur, elle doit avoir été instanciée. Étant donné que toString est une méthode de la classe parent de niveau supérieur Object, comment un objet non instancié peut-il avoir cette méthode.

    ArrayList list = new ArrayList();
    System.out.println(list == null);  // false
    
    ArrayList list1 = null;
    System.out.println(list1.toString()); // 空指针

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:32

    map.get(a).toString().equals(""); toujours false

    Le résultat que vous avez impriméa**[] montre que map.get(a).toString() n'est pas une chaîne vide, mais [], donc "[]".equals("") est toujours faux

    map.get(a) ! = nul ; toujours vrai

    Si map.get(a).toString() ne lève pas d'exception de pointeur nul, alors map.get(a) doit être non nul

    Juge vide

    Si la valeur correspondant à la clé est toujours une ArrayList, alors la méthode suivante peut être utilisée :

    map.get(a) == null || map.get(a).isEmpty()

    répondre
    0
  • Annulerrépondre