エンティティと呼ばれるインタフェースがあると仮定すると、それを実装する多くのクラスがあります。 クラスを作成する必要があります。そのクラスのインスタンスごとに、コレクションにはインタフェースEntityを実装するオブジェクトのみが含まれますが、から同じ実装クラスになります。たとえば、PersonとBicycleがEntityインタフェースを実装し、クラスのインスタンスは、PersonオブジェクトまたはBicycleオブジェクトでのみフルコレクションを持ちますが、両方ではありません。 私はあなたの助けに感謝します!インターフェイスを実装するが、同じ実装クラスのオブジェクトのみを含むコレクションを強制する方法は?
-1
A
答えて
0
public class Something<T extends Entity> {
[...]
private Collection<T> entities;
T
常にEntity
を実装する一つのクラスになります。このクラスのすべてのメソッドでT
を使用できます。
0
これを本当に行いたい場合は、独自の関数を作成して、新しいオブジェクトのクラスとコレクション内の最初のオブジェクトのクラスを比較することができます。 (あなたのコレクションにオブジェクトがなくても、それを追加するだけの場合)
void add(Entity ent) {
if (collection == null) {
collection = new Collection<Entity>();
collection.add(ent);
}
else if(ent.getClass().equals(collection.get(0).getClass()) {
collection.add(ent);
}
else {
// wrong class error handling here
}
}
そういうものです。
+0
いくつかのサンプルコードを提供していただけますか? – WhatsThePoint
関連する問題
- 1. コレクションを含むJavaクラスのhashcode実装
- 2. インターフェイスを実装するプログラマを強制する方法
- 3. 同じインターフェイスの異なる実装を継承する子クラス
- 4. コレクションを含むクラスにIXmlSerializableを実装する
- 5. メソッドを含むpythonクラス属性を実装する方法は?
- 6. 異なる動作を持つ同じクラスのオブジェクトを実装する方法
- 7. 同じインターフェイスを実装するクラスの2つのリストをマージする
- 8. インターフェイスを実装するTypeScriptクラスのプライベートメソッド
- 9. クラスデザイン:別のインターフェイスを実装しているインターフェイスを実装しているクラス
- 10. PHPの子クラスは、同じインターフェイスの親クラスの実装を実装できません
- 11. 同じクラスの実装を持つ2つのインターフェイスのプレイフレームワークでバインドメソッドを書き込む方法は?
- 12. 同じクラスのMoqユニットテストと実際のユニットテストメソッドを実装する
- 13. クラスに複数のインターフェイスを実装する方法
- 14. インターフェイスのデフォルト実装でクラスを使用する方法
- 15. イベントを含むマルチユーザーカレンダーのキャッシュを実装する方法は?
- 16. 負の値を含むサイクリングインデックスを実装する方法は?
- 17. サブクラスにメソッドの実装を強制する方法
- 18. 強制派生クラスで特定のメソッドを実装する
- 19. N個のベクトルを含むクラスのサブセットイテレータを実装する方法
- 20. ファイルを含むQListWidgetでドラッグを実装する方法は?
- 21. インターフェイスを実装するメリット
- 22. 強制的にプライベートメソッドを実装するクラス
- 23. Serializableインターフェイスを実装するクラスがインターフェイスのメソッドを実装しない理由を教えてください。
- 24. 非同期呼び出しを含むプロキシパターンを実装する方法は?
- 25. クラスのインターフェイスを実装するタイミングとインターフェイスの匿名実装をインスタンス化するタイミング
- 26. オブジェクトのマージを実装する方法
- 27. 同じクラスの2つの異なる実装をコンパイルする
- 28. 同じクラスのサブオブジェクトの実装
- 29. 異なるウェイトの同じ製品を実装する方法
- 30. .NETでDynamicTypeを作成するインターフェイスを実装するが、基本クラスのメンバ実装を使用する
「コレクション theCollection」(コレクション ... ')!?本当に、あなたの質問はいくぶん不明です。 –
Seelenvirtuose
Javaの型システムではできません(リストのすべてが、その型のサブクラスではなく、厳密な型であることを保証することはできませんが、設計では必要ありません)。実行時にリスト内のインスタンスのタイプを確認するだけで済みます。 –
複数の境界( '')を持つ境界型を宣言することはできますが、実際にはその点は表示されません。いくつかのコードを共有できますか? –