ジェネリック型 List を Gson で逆シリアル化するジェネリック関数を書きたいのですが、コードは次のとおりです。
private <T> List<T> GetListFromFile(String filename)
{
//Read textfile
BufferedReader reader;
String data="";
try
{
reader = new BufferedReader(new FileReader(filename));
data = reader.readLine();
reader.close();
}
catch (FileNotFoundException ex)
{
}
catch (IOException ex)
{
}
if (data == null)
{
List<T> Spiel = new ArrayList<T>();
return Spiel;
}
else
{
//get list with Deserialise
Gson gson = new Gson();
List<T> something = gson.fromJson(data, new TypeToken<List<T>>(){}.getType());
return something;
}
}
しかし、このコードは機能していません。奇妙な構造を取得しますが、私のタイプのリストではありません
私が使用しているとき:
List<concreteType> something = gson.fromJson(data, new TypeToken<List<T>>(){}.getType());
私は働きますList<concreteType>
!
しかし、汎用関数が必要なのですが、どうすれば修正できますか?
よろしくルービクトゥビック