目前创建的代码使用两种类型的优先级队列作为独立的方法,方法之间的代码是相似的,试图将它们模块化为一个单一的方法,但优先级队列的类型中的参数不同
我目前正在运行eclipse,尝试在if语句中添加if语句,如果一个在另一个上工作。问题是代码需要队列的实例化
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)
}发布于 2019-04-20 08:29:42
你可以使用generic methods来处理这个问题,例如:
public <T> void function(PriorityQueue<T> queue){
queue.add(whatever);
}如果您的两种(或更多)类类型扩展了相同的父类,则可以使用以下内容:
public <T extends YOUR_PARENT_CLASS_NAME> void function(PriorityQueue<T> queue){
queue.add(whatever);
}来限制传入该方法的内容。
https://stackoverflow.com/questions/55768840
复制相似问题