通用的ArrayList我有5類:與多個參數(類)與自己的添加方法
- 螞蟻{抽象},
- 工人延伸螞蟻,
- 士兵延伸螞蟻,
女王延伸螞蟻,
垤
public class Anthill<T extends Ant> { ArrayList <Ant> antHill = new ArrayList<>(); public void adde(T ant) { if(ant != null) { if (ant.isQueen() == true && amountOfQueens <= 1) { antHill.add(ant); amountOfQueens++; } else if (ant.isQueen() == false) { antHill.add(ant); amountOfAnts++; } else { System.out.println("Only one queen is permitted."); } } }
例如:
import java.util.ArrayList;
public class Main {
public static void main(String [] args){
ArrayList <Ant> antList = new ArrayList<>();
for(int i = 1; i<6; i++){
antList.adde(new Worker(6, "AW", 0, i));
}
的問題是,我想補充任何一種螞蟻(士兵,女王,工人)爲用我自己的方法public void adde(T ant)
該ArrayList。
我得到的錯誤,方法adde(工人)未定義的類型ArrayList。
有沒有人有一個想法如何解決這個問題?它只適用於使用方法add()
,但我必須使用我自己的。
你需要調用'adde'上'Anthill'而不是'ArrayList'。這與泛型沒有任何關係。 –
我也沒有看到爲什麼'''Anthill'''將會是一個泛型類的原因,除非你計劃擁有隻有'''''''''''只有''''''''的Anthill's,或者只有''' '''Queen'''s。 –
你實際上並不需要你班上的通用符號。 – mdewit