2015-11-26 26 views
0

如果null作爲參數輸入它不會被添加到arrayList我正在使用BlueJ編譯器,我試圖編碼這幾種方法,但仍然無法正常工作。如何不向ArrayList添加Null?

這裏是我的方法:

public void addLamborghini(Lamborghini newLamborghini) 
{ 
    if(newLamborghini ==null){ 
    return; // do not store 
    } 
    if(newLamborghini.equals(newLamborghini)){ 
    inventory.add(newLamborghini); 
    } 
} 

也試過這樣:

public void addLamborghini(Lamborghini newLamborghini) 
{ 

    if(newLamborghini ==null){ 
     return; // do not store 
    } 
    else if(newLamborghini.equals(newLamborghini)){ 
     inventory.add(newLamborghini); 
    } 
} 

也試過這樣:

public void addLamborghini(Lamborghini newLamborghini) 
{ 
    if(newLamborghini !=null){ 
     inventory.add(newLamborghini); 
    } 
} 

還與ArrayList中環試了一下:

public void addLamborghini(Lamborghini newLamborghini) 
{ 
    for(Lamborghini l : inventory){ 

     if(newLamborghini ==null){ 
     return; // do not store 
     } 
    inventory.add(newLamborghini); 
    } 
} 

也試過這樣:

public void addLamborghini(Lamborghini newLamborghini) 
{ 
    for(Lamborghini l : inventory){ 

    if(newLamborghini ==null){ 
     continue; // do not store 
    } 
    inventory.add(newLamborghini); 
    } 
} 

,並試圖此:

public void addLamborghini(Lamborghini newLamborghini) 
    { 
     if(newLamborghini ==null){ 
     inventory.remove(null); // do not store 
     } 
     if(newLamborghini == newLamborghini){ 
     inventory.add(newLamborghini); 
     } 
    } 

我相信我已經用盡了所有我能想到的方法,並在網上做了研究,但似乎無法找到我的問題的有效答案。上述方法將添加null或不會添加null,也不會添加非空的新車參數。似乎無法弄清楚如何不允許將null添加到ArrayList。

如果任何人都可以幫我編碼,這將不勝感激。提前致謝。

這裏是我的要求:

public void addLamborghini(Lamborghini newLamborghini) 
  • 增加了一個新的蘭博基尼庫存

  • 如果newLamborghini參數爲空,它不添加到清單。

+0

您的前三位代碼看起來像不應該添加空值。你怎麼知道你有空值?試着在你的'inventory.add()'之前做'System.put.println(「Adding:」+ newLamborghini);看看它是否添加了null。 – Fodder

+0

第一種方法應該起作用,如果它不是你應該檢查你的輸入arraylist但不是你當前的方法,你如何確認它是空的,也許你應該重寫'蘭博基尼'類toString方法並檢查null是否爲真。 – Crabime

回答

0

從理論上講,這應該梅索德工作:

public void addLamborghini(Lamborghini newLamborghini) 
{ 

    if(newLamborghini !=null){ 
     inventory.add(newLamborghini); 

    } 

} 

你確定,這個問題不在於你的代碼的其他部分?此外,如果您可以提供更多信息。就像您創建的蘭博基尼的例子一樣,在您的庫存中添加以下結果。