0
私はTypeToken
をメソッドに渡しています。以下のコードは動作しますが、具体的にはより具体的なものとしてObject list
を明示的に定義しないと後で気になることがありますが、コンパイラのエラーや警告を出さずに定義する方法を見つけることができません。ここでTypeTokensをJavaでキャスティングするにはどうすればよいですか?
TypeToken<List<ServerInfo>> listTypeToken = new TypeToken<List<ServerInfo>>(){};
は私がTypeToken
を使用していますコードです:ここでは(listTypeToken.getType()) list = ...
ような何かを行う方法があるはずのように私はTypeToken
を定義するコードであるようです。私はObject list
をより具体的なものとしてキャストすべきだと思います。ここで
public static <T> void processJson(GsonBuilder gsonBuilder,
String jsonString,
String action,
TypeToken<T> listTypeToken)
{
//Trimmed from brevity
Object list = gson.fromJson(jobject.get(action).getAsJsonArray(),
listTypeToken.getType());
}
は、他の成功したアプローチの一つであるが、私はそれが適切なコースだかはわからない:
@SuppressWarning("rawtypes")
List list = gson.fromJson(jobject.get(action).getAsJsonArray(),
listTypeToken.getType());
あなたはそれがリストの一覧を表示させることはできません= gson.fromJson(jobject.get (アクション).getAsJsonArray()、 listTypeToken.getType()); ? –
Sampada
ServerInfoは、渡すことができる約50のクラスのうちの1つに過ぎません。私がTokenTypeコーディングから取り除こうとしていたのは、実際にはそのような静的コーディングでしたので、そのプロセスをメソッドにプッシュすることができました。 – lumberajackshaw