如果我这样做
System.out.println(nameOfaHashMap);
当该地图为“空”时,系统显示“{}
”。
在这种情况下,该地图是空的还是空的?
如果我愿意,我该怎么写:
if (nameOfanHashMap is != null)
{
System.out.println(nameOfaHashMap);
}
else System.out.println("I'm sorry, this map is empty!");
非常感谢大家,对不起我的英语e for my Java :-) 你这么快回复我,也非常感谢大家。
我写了这段代码,没关系:
if (disponibilita.isEmpty())
{
System.out.println("Sorry, ..");
}
else
System.out.println(disponibilita);
答案 0 :(得分:5)
如果它是null
,那么它甚至不是地图;如果它是一张地图,那么只有它才有空的机会。
空地图的toString
通常会返回{}
,而String.valueOf(null)
会返回字符串"null"
,这就是打印的内容。
如果你想打印“对不起,这张地图是空的”,当你有一张地图,但它是空的,那么你需要
if (map.isEmpty()) System.out.println("sorry, this map is empty");
答案 1 :(得分:2)
如docs中所述:
字符串表示由一系列键值映射组成 地图的entrySet视图的迭代器返回的顺序,包含在中 大括号(“{}”)。相邻的映射由字符“,”分隔 (逗号和空格)。每个键值映射都呈现为键 后跟一个等号(“=”),后跟相关的值。
这意味着地图为空,您可以通过调用isEmpty()
进行测试。如果它为null,则只打印出null
。
答案 2 :(得分:1)
你的意思是,像这样?
if (nameOfanHashMap == null) {
System.out.println("I'm sorry, this map is null!");
} else if (nameOfanHashMap.isEmpty()) {
System.out.println("I'm sorry, this map is empty!");
} else {
System.out.println(nameOfanHashMap);
}
请注意,以Map
打印的{}
为空,但非null
。 null
地图将打印为null
。
答案 3 :(得分:0)
如果地图为null
,则其打印为null
,就像任何其他对象一样。
除非是null
,否则它必须是某种东西,{ }
表示它是空的。
答案 4 :(得分:0)
将Object传递给System.out.println时,会调用其方法toString。
现在,如果地图已经实例化但是它是空的,那么
toString()
方法返回
{}
否则如果为null,则toString返回
空
最后,检查可以通过以下方式完成:
if (nameOfanHashMap == null) {
System.out.println("I'm sorry, this map is null!");
} else if (nameOfanHashMap.isEmpty()) {
System.out.println("I'm sorry, this map is empty!");
} else {
System.out.println(nameOfanHashMap);
}