1

私はエンティティシステムに取り組んでいます。コンポーネントには Value-Object の 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));
}
}

Value-Object を Double で埋めたいとしましょう (これはうまくいきます):

Value<Double> v = new Value<Double>("xCoordinate");

なぜ私はこれを行うことができません:

Object o = new Double(42);
Value<o.getClass()> v = new Value<o.getClass>("theAnswer");

オブジェクト「o」のクラスを変数型に渡したいのですが、値の場合、「o」の実行時表現からクラスを取得できないのはなぜですか。

4

1 に答える 1