java - 怎么判断map key对应的值是不是空的
ringa_lee
ringa_lee 2017-04-18 09:07:32
0
4
3037

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_lee
ringa_lee

ringa_lee

répondre à tous(4)
左手右手慢动作

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

Ty80

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))

小葫芦

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()); // 空指针
洪涛

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()
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal