10月の唇:
私は、Javaのクラス持つJist
2つのフィールドがあり、public final Object type
そしてpublic Object[] content
。コンストラクタではJist
私が撮りたいObject
し、その型を取得し、初期化しcontent
、その型の空のスロットのいくつかの数で。これは私が試してみましたいくつかのソリューションの一つであり、私は現在受け付けておりますことを、エラーは、アレイの実際の初期化です。
public class Jist{
public final Object type;
public Object[] content;
public Jist(Object type){
this.type = type.getClass();
class myType extends Jist{
Class c = super.type.getClass();
public Class getType(){
return c;
}
};
content = new myType.getType()[4];
}
}
エリオットの新鮮:
作成しJist
、いくつかの種類の総称T
。渡しClass<T>
コンストラクタで。使用Array.newInstance(Class<?>, int)
のような
public class Jist<T> {
public final Class<T> type;
public T[] content;
public Jist(Class<T> cls) {
this.type = cls;
content = (T[]) Array.newInstance(type, 4);
}
}