私はパラメータとしてClass<T>
をとるメソッドを使用しています。Tを使用するクラスを指定するT
私は、パラメータとして渡したいクラスも、それはpublic class MyObject<T>
として宣言されていると私は、私は時々MyVarObject1
とMyVarObject2
呼ばmMyVar
に使う2つのクラスを持っているpublic T mMyVar;
としてメンバーを宣言したT.を使用しています。
例:
private class MyObject<T> {
public T mMyVar;
}
private class MyVarObject1 {
// some variables
}
private class MyVarObject2 {
// some variables
}
具体的には、私が呼び出すてる方法はJacksonUtil
方法fromJsonArray
です。
ここでは適切な構文がわかりません。 JacksonUtil
は、JSONを解析することができますので、正確なモデル構造を知っている必要がありますが、私はこの行のために適切な構文を考え出すのトラブルを抱えている:
MyObject<MyVarObject1> result = JacksonUtil.fromJsonArray(jsonStr, MyObject<MyVarObject1>.class);
私が持っているものが動作しません。私のIDEは2番目のパラメータを選択し、 "パラメータ化された型から選択できません"と言う。改造して使用している間
'MyObjectには、私は' MyObjectに指定しない限り、あなたは私がやりたいのための方法はありません唯一 'MyObject.class' –
EpicPandaForce
を言っている、そのようなことが原因型消去には存在しません.class' 'JacksonUtil.fromJsonArray'(私のライブラリではないのでできません)の定義のパラメータとして –
Andrew
ヒント:多くの知識を持つ洗練された人々の場合でも。新しい言語を使い始めるだけです。実際に使用するコンセプトを理解してください**。 Javaジェネリックは何とか高度なトピックです。あなたが求めているのは、あなたがそれを研究するのに多くの時間を費やさなかったことを意味します。 – GhostCat