2012-10-17 120 views
0

当我试图打印出在收件箱中没有任何邮件的用户并打印出“无邮件”时,它不会打印出任何内容,但如果有一种内在的东西,然后它会工作如果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,一旦它印

回答

1

我并不想删除值也许你的意思是

if(mailBox == null || mailBox.isEmpty()) 
0

更轻松:

if(mailBox == null || mailBox.isEmpty()) 
0

你是不是在第一if条件检查空单。

变化

if(mailBox == null){ 

if(mailBox == null || mailBox.size()==0){ 

if(mailBox == null || mailBox.isEmpty()){ 
0

您还需要处理当邮箱存在,但在它没有项目的情况。

例如

if(mailBox == null || mailBox.isEmpty()){ 
     System.out.println("No mail");