これは決まったクラスであり、確定的なインターフェースを実装するために、どのタイプが引数を定義していますか?私は<を使用しています。T extends MyBaseClass & MyInterface >引数の型はメソッド定義にありますが、MyBaseClass、MyBaseClass型のISは継承しません。 私が受け取った引数がMyBaseClass型であり、MyInterfaceを実装していることを確認します。どのような種類の型を定義クラスの引数を定義し、決定的なインターフェイスを実装しますか?
0
A
答えて
1
できません。あなたは引数が特定の具体的な型であることを要求します(そして、そのサブクラスも許可されていることを意味します)。
ジェネリックでは、サブタイプが許可されていないなど、1つ以上の型で引数をパラメータ化することができますが、それはあなたの質問には関係しません。
ただし、体内でinstanceof
を使用したり、arg.getClass()
と比較したりすることはできます。私はあなたがこのような何かを行うことができれば、あなたが求めていることを前提とするつもりだ
-1
-
public <T extends YourBaseClass, YourInterface> void foo(T bar) {
答えはイエスである、することができます。 YourBaseClassであるが、YourInterfaceを実装していないこのメソッドに引数を渡すと、コードはコンパイルされません。
+0
おかげで、完璧に動作します –
+0
@Carlos Correa - どうぞよろしくお願いします。 – Kal
関連する問題
- 1. 関数の引数でエラーの種類を定義します。
- 2. モバイルドキュメントの種類定義
- 3. データ定義クラス(DDC)または実装クラスにメソッドを渡すかどうかを決定する方法
- 4. 型のプロパティの定義:私は次のようにインターフェイスを実装するいくつかのクラス持っ
- 5. Cで定数をどのように定義しますか?
- 6. 動的型定義の特定の形式を明示的に実装する
- 7. 特定の種類の多態Javaインターフェイスの実装
- 8. ユーザ定義オブジェクトの辞書的な値の割り当てをどのように定義しますか?
- 9. オブジェクトの種類の定義方法
- 10. C++は再帰的なクラス定義をどのように扱いますか?
- 11. Pythonでオプションの引数を持つクラスを定義します。
- 12. UML Designerは、未定義の種類
- 13. Mapbox GL描画スクリプトの種類定義
- 14. 定義済みの値をどのように再定義しますか?
- 15. 致命的なエラー:未定義のクラス定数 'STATE_PENDING' Magentoの
- 16. インターフェイスの実装クラスの型パラメータを設定するには?
- 17. Matlabのユーザー定義クラスのクラスの型をテストします
- 18. TypeScript:インターフェイス定義の関数定義を再利用
- 19. クラスandroid.location.Locationは引数なしのコンストラクタを定義していません
- 20. なぜ関数型パラメータの型定義は変換を実行しません
- 21. ユーザー定義クラスをDataContractとして定義するかどうかを指定します。
- 22. 未定義の変数エラーを定義しようとしました
- 23. インターフェイスまたは変数のクラス制約を定義する
- 24. ジェネリック型の引数なしでジェネリック関数を定義する方法は?
- 25. 致命的なエラー:未定義のクラス定数
- 26. - マップでどのように型を定義できますか?
- 27. Googleマップの実装で定義された場所の種類に結果を限定する
- 28. PermGen空間で単一のJavaクラス定義のサイズを決定しますか?
- 29. ルビー:クラス定義の明示的なスコープ
- 30. メソッドの引数が1つのクラスから継承し、インターフェイスを実装することを指定します。
hmmmm ...何ですか? :| – amit
私は、あなたが何を持っているかを判断しようとすることに対して反対を勧めます。インターフェースや抽象基底クラスを持つことの大きな利点の1つは、あなたが持つクラスの詳細を知る必要はないということです。インターフェイスで指定されたメソッドを呼び出すことができるだけで、インターフェイスによって指定されたコントラクトを実行すると信じているので、あなたのために機能します。どのクラスが渡されたのかを正確に知る必要がある場合は、おそらくデザインに何か問題があったでしょう。 – corsiKa