标题可能令人困惑......这是代码:
这是生成具有不同类型的每个不同对象的类..例如:BookingReferenceExtractor
AircraftExtractor
我这里的方法是通用的...取一个字符串并主观返回不同的对象...
public class ExtractorFactory {
private static ExtractorFactory extractorFactory;
public ExtractorFactory(){
}
public Extractor extractorFor(String extractorType) {
if(extractorType.equals("booking_reference")){
return new BookingReferenceExtractor();
}
else if("itinerary".equals(extractorType)){
return new ItineraryExtractor();
}
else if("passengers".equals(extractorType))
{
return new PassengersExtractor();
}
else if("aircraft".equals(extractorType))
{
return new AircraftExtractor();
}
return null;
}
}
我现在需要的是使该类具有通用性...例如,当我将参数传递给构造函数时,它将主观地生成对象...而无需访问其他方法...例如:
ExtractorFactory BookingReferenceExtractor_object = new ExtractorFactory("booking_reference");
ExtractorFactory ItineraryExtractor_object = new ExtractorFactory("itinerary");
..
..
基本上,需要对类承包商做一些事情,使其通用,任何传入的字符串,它都可以直接生成对应对象,而无需调用其他方法。
我一直在阅读这个 tut: http: //math.hws.edu/javanotes/c10/s5.html我知道它应该做类似的事情:
class Queue<T> {
private LinkedList<T> items = new LinkedList<T>();
public void enqueue(T item) {
items.addLast(item);
}
public T dequeue() {
return items.removeFirst();
}
public boolean isEmpty() {
return (items.size() == 0);
}
}
...但不确定如何转换为通用类...有什么建议吗?谢谢。