当我尝试打印出收件箱中没有任何邮件的用户并打印出“无邮件”时,它不打印任何内容,但如果内部有任何内容则可以使用
代码在这里
for(String key : items.keySet()) {
System.out.println("Mail for " + key);
ArrayList<MailItem> mailBox = items.get(key);
if(mailBox == null){
System.out.println("No mail");
} else {
for(MailItem item : mailBox){
System.out.println(item.toString());
}
}
}
items
是一个hashmap,我不打算在打印后删除它们
答案 0 :(得分:1)
也许你的意思是
if(mailBox == null || mailBox.isEmpty())
答案 1 :(得分:0)
更放松:
if(mailBox == null || mailBox.isEmpty())
答案 2 :(得分:0)
您没有在第一个if
条件下检查空列表。
更改
if(mailBox == null){
到
if(mailBox == null || mailBox.size()==0){
或
if(mailBox == null || mailBox.isEmpty()){
答案 3 :(得分:0)
您还需要处理mailBox存在但没有项目的情况。
e.g。
if(mailBox == null || mailBox.isEmpty()){
System.out.println("No mail");