以下に示すように。クラスの説明から明らかなように、任意のSerializable型にバインドできるPropertyという名前のクラスを作成しています。
Tこれで、プロパティの値は、コンパイル中に型になるように自動バインドされます。
実行時に値のオブジェクトを  Class getType()返す必要があるメソッドを実装したい、つまりClass
Property<String> p = new Property<String>();
Class<String> cl = p.getType(); 
ここでは、clがString.classであることを期待しています。もちろん、1つの方法は次のとおりです。
return value == null ? null : value.getClass();
問題は、返される型に反映されず、生の型のClassオブジェクトを返すことです。理想的にはタイプにしたいClass<String> 
public class Property<T extends Serializable> implements Serializable {
    private T value = null ;
    private String name = null ;
    private boolean dirty = false ;
    private Entity parent = null ;
    public Class getType() {
        // Here I want to determine the type of T that this object is bound to ?
        return class; 
    }
    public T getValue() {
        return value;
    }
    public void setValue(T value) {
        this.value = value; 
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public boolean isDirty() {
        return dirty;
    }
    public void setDirty(boolean dirty) {
        this.dirty = dirty;
    }
    public Entity getParent() {
        return parent;
    }
    public void setParent(Entity parent) {
        this.parent = parent;
    }
}