0

当我试图打印出收件箱中没有任何邮件的用户并打印出“没有邮件”时,它不会打印出任何东西,但如果里面有东西,它就会起作用

代码在这里

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是一个哈希图,我不想在打印后删除这些值

4

4 回答 4

1

也许你的意思是

if(mailBox == null || mailBox.isEmpty())
于 2012-10-17T17:41:16.397 回答
0

更放松:

if(mailBox == null || mailBox.isEmpty())
于 2012-10-17T17:41:27.470 回答
0

您没有在第一个if条件下检查空列表。

改变

    if(mailBox == null){

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

或者

    if(mailBox == null || mailBox.isEmpty()){
于 2012-10-17T17:42:07.767 回答
0

您还需要处理邮箱存在但其中没有项目的情况。

例如

if(mailBox == null || mailBox.isEmpty()){
        System.out.println("No mail");
于 2012-10-17T17:42:17.163 回答