我正在嘗試將Shoe類型的對象添加到Shoe類型的固定數組中,但是我遇到了問題。將參考對象添加到固定數組
在addShoe方法中,我試圖將shoe類型的引用添加到sh數組中,如下所示:sh.add(s);
當我特里結構運行它,我得到這個錯誤:
不能調用的陣列型鞋加(鞋)[] Eclipse的建議我將其更改爲「長度」,並沒有做SENS
我還想到我可以寫addShoes方法的其他部分是這樣的:
public void addShoe(Shoe s) throws ShoeException
{
if(s.getId() < 0) {
throw new ShoeException(s);
}
else {
if(numShoes<=10){
sh = Arrays.add(s, numShoes);
numShoes++;
}
}
}
這只是一個想法。這是做正確的方法嗎?
public class TestShoe {
public static void main(String[] args) {
ShoeProcessor s = new Shoe();
Shoe s1 = new Shoe(7, "Black");
Shoe s2 = new Shoe(10, "Red");
try {
s.addShoe(s1);
s.addShoe(s2);
}catch(ShoeException bex){
System.out.println("Shoe Exception: " + bex);
}
}}
public class ShoeProcessor
{
private Shoe [] sh;
private int numShoes=0;
private ShoeComparator<Shoe> sc;
public ShoeProcessor()
{
sh = new Shoe [10];
sc=new ShoeComparator<Shoe>();
}
public void addShoe(Shoe s) throws ShoeException
{
if(s.getId() < 0) {
throw new ShoeException(s);
}
else {
sh.add(s);
numShoes++;
}
}
}
謝謝您的幫助
我想補充我需要使用固定大小的數組鞋。我還想補充說我不想擴展數組sh。我可以添加鞋類的最多10個參考。這就是爲什麼我也計算添加鞋子的數量。
你不能那樣做。相反,使用'ArrayList'。 –
SLaks
+1 @SLaks。數組是固定大小的:如果你想動態擴展它們,你必須創建一個大小爲+ 1的新數組,或者使用數組列表/向量等。 – robermann