当前正在创建使用2种类型的优先级队列作为单独方法的代码,这两种方法之间的代码相似,试图将它们调制为一个方法,但是参数在优先级队列的类型上有所不同
我当前正在运行eclipse,尝试通过if语句(如果1在其他情况下起作用)进行广告。问题在于代码需要实例化队列
public void function (String modular){
if (modular == "A"){
PriorityQueue<A> queue = new PriorityQueue<A>();
}
if (modular == "B"){
PriorityQueue<B> queue = new PriorityQueue<B>();
}
queue.add(parameter,parameter)
}
答案 0 :(得分:2)
您可以使用generic methods进行处理,例如:
public <T> void function(PriorityQueue<T> queue){
queue.add(whatever);
}
如果您的2个(或更多)类型的类扩展了相同的父类,则可以使用以下方式:
public <T extends YOUR_PARENT_CLASS_NAME> void function(PriorityQueue<T> queue){
queue.add(whatever);
}
限制传递给方法的内容。