1

如何通过从函数的参数中检索 T 来定义 Vector 的类型?例子:

public void addPlot(String plotName, int minX, int maxX,
        int minY, int maxY, PlotStyle plotStyle, Class<? extends Number> type)
{
    Vector<type.class> dataset = new Vector<type.class>();
}
4

1 回答 1

2

首先,在 Java 中,它是“泛型”,而不是“模板”(C++ 术语)。

接下来,使用命名的泛型类型参数使您的方法泛型并使用它。

// generic declaration after public, before void
public <T extends Number> void addPlot(String plotName, int minX, int maxX,
        int minY, int maxY, PlotStyle plotStyle, Class<T> type)
{
    Vector<T> dataset = new Vector<T>();
}

<T extends Number>是您的泛型类型参数声明(具有上限),其他<T>出现的地方就是您使用它的地方。

于 2013-07-03T21:11:50.003 回答