私のカスタムクラスをチェックしてください。 "com.application.models.Custom$Response<com.application.models.User>" serverResponse: ""
一般タイプjava
しかしdoSomethingのであれば:私は
final Custom<User> _custom = new Custom<>(new TypeToken<Custom<User>.Response<User>>(){}, "");
にdoSomethingの()を変更する場合は、DEBUGログがある
final Custom<T> _custom = new Custom<>(new TypeToken<Custom<T>.Response<T>>(){}, "");
DEBUGログは次のとおりです。
"com.application.models.Custom$Response<T>" serverResponse: "
私はこのようなクラスを持つ:
public class Main
{
public static <T> void DoSomething()
{
final Custom<T> _custom = new Custom<>(new TypeToken<Custom<T>.Response<T>>(){}, "");
}
}
//私は、Javaがほとんどということを意味し、コンパイル時のジェネリックで動作
public class User
{
public int Id;
public void Test()
{
Main.<User>DoSomething();
}
}
カスタム*を作成するときにTのジェネリックをコンパイルするときに何らかの理由で*を意味しますか? – Blackbelt
私は 'Main main = new User <>();'はtypoであり、 'Main main = new Main <>();'でなければなりません。 –
Eran
はい、回答を更新しました –