我正在研究一个实体系统。我的组件确实包含一个值对象的 ArrayList,因此我可以在运行时构建组件。这是我的价值等级:
public class Value<V> implements Cloneable{
private V value = null;
private String name;
public Value()
{
}
public Value(String name)
{
this.name = name;
}
public V getValue()
{
return value;
}
public void setValue(V value)
{
this.value = value;
}
@Override
public boolean equals(Object o)
{
return name.equals(((Value)o).name);
}
@Override
public Value clone()
{
return new Value<V>(new String(name));
}
}
假设我想用 Double 填充一个 Value-Object(这可行):
Value<Double> v = new Value<Double>("xCoordinate");
为什么我不能这样做:
Object o = new Double(42);
Value<o.getClass()> v = new Value<o.getClass>("theAnswer");
我想将对象“o”的类传递给类型变量如果值,为什么我不能从“o”的运行时表示中获取类。