通用的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