模板中的模板

时间:2016-03-09 18:39:46

标签: java templates

我已经尝试创建了“忍受模板化类”的ArrayList,例如:

public static ArrayList<Variable<float>>

我的变量类的代码:

public class Variable <T> {
    public T value;
    public String txt;
}

它失败了。我得到Syntax error, insert "Dimensions" to complete ReferenceType那么如何修复它?我不想创建单独的类,例如VariableFloat,VariableString等。

2 个答案:

答案 0 :(得分:0)

泛型不能与原语一起使用,只能与对象一起使用。使用包装类。

public static ArrayList<Variable<Float>> iVars;

答案 1 :(得分:0)

这是因为你试图这样做:

public static ArrayList<Variable<float>> lst = new ArrayList<>();

注意小写float是一种基本类型。不允许在Java中将基元用作类型参数。相反,您应该使用Float包装类:

public static ArrayList<Variable<Float>> lst = new ArrayList<>();

您获得&#34;尺寸&#34;的原因消息是因为它认为您正在尝试这样做:

public static ArrayList<Variable<float[]>> lst = new ArrayList<>();

允许