如果hashmap没有要打印的内容,则无法打印“No Mail”

时间:2012-10-17 17:34:18

标签: java hashmap

当我尝试打印出收件箱中没有任何邮件的用户并打印出“无邮件”时,它不打印任何内容,但如果内部有任何内容则可以使用

代码在这里

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,我不打算在打印后删除它们

4 个答案:

答案 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");