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

また、mailBox は存在するがアイテムがない場合にも対処する必要があります。

例えば

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