将具有泛型方法的非泛型类转换为泛型类

时间:2012-11-09 13:00:08

标签: java string class generics methods

标题可能令人困惑......这是代码:

这是类生成具有不同类型的每个不同对象。例如: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;
    }
}

我现在需要的是使类成为通用的......例如,当我将一个param传递给构造函数时,它会主观地生成对象...而无需访问其他方法.. 类似的东西:

ExtractorFactory BookingReferenceExtractor_object = new ExtractorFactory("booking_reference");

ExtractorFactory ItineraryExtractor_object = new ExtractorFactory("itinerary");
..
..

基本上,需要与类承包商做一些事情,使其成为通用的,传入任何字符串,它可以直接生成对应的对象,而无需调用其他方法。

我一直在读这个啧啧: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);
    }
}

...但不确定如何转换为通用类...任何建议?感谢。

0 个答案:

没有答案