1. 問題の説明
ジェネリック型は、変換、インスタンス、新規などの実行時の型操作で明示的に使用できません。実行時にすべてのパラメータの型情報が失われるためです。
2. 解決策
/** * 泛型类型判断封装类 * @param <T> */ class GenericType<T>{ Class<?> classType; public GenericType(Class<?> type) { classType=type; } public boolean isInstance(Object object) { return classType.isInstance(object); } }
main メソッドでは、次のように呼び出すことができます:
GenericType<A> genericType=new GenericType<>(A.class); System.out.println("------------"); System.out.println(genericType.isInstance(new A())); System.out.println(genericType.isInstance(new B()));
クラス オブジェクトを記録します。 typeパラメータを設定し、このClassオブジェクトを通じて型判定を行います。
以上がJava の一般的な消去の問題と解決策を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。