私はpublic class MyList<T>
のようなジェネリックを使用しています。 Tで表されるクラスが特定の静的メソッドを実装するようにする方法はありますか?Java generics - 静的メソッドが実装されていることを確認する
2
A
答えて
2
2
残念ながらそうではありません。代替案として
、あなたのクラスの静的メソッドは、ビルダーのような関連クラスのいくつかの並べ替えに属しているかどうかを検討してください。
class Person {
public static Person createFromDatastore(Datastore datastore) { ... }
}
非として別々のクラスに静的を移動する方が良いかもしれ静的メソッド:
class PersonBuilder implements Builder<Person> {
public Person createFromDatastore(Datastore datastore) { ... }
}
これはあなたのジェネリッククラスのクライアントを指示することができることを意味し、今それを提供するために必要なことができます。
public class MyList<B extends Builder<T>, T> ...
+0
+1:私はそれが不幸だとは思わないが、 – Jeremy
+0
@ジェレミー・ヘラー - 笑 - 編集に感謝する。 –
関連する問題
- 1. メンバ変数がクローン()メソッドを実装していることを確認
- 2. 静的クラスで非静的メソッドを実装する方法は?
- 3. メソッドがIDisposable.Disposeを実装していることを確認してください。
- 4. Java Generics - 型引数を持つ静的メソッドの作成方法
- 5. Ninjectはメソッドが実装されていないが、明確にそこにあることを伝えます
- 6. JavaクラスがtoString()を実装していることを確認してください。
- 7. JNIメソッド静的解像度の確認
- 8. Java静的同期とBlockingQueueの実装
- 9. OCMockを使用して静的メソッドを確認する方法
- 10. アイテムが選択されていることを確認する
- 11. 関数がCまたはLuaで実装されていることを確認してください
- 12. クラスデコレータ、クラスが拡張されて他のクラスを実装していることを確認する方法
- 13. アプリケーションがアプリケーションサーバーで実行されていることを確認する
- 14. 静的メソッドを実装する - 援助が必要
- 15. ブランチが実行されていることを確認してください。
- 16. ユーザーに静的メソッドを実装させる
- 17. すべてのメソッドとプロパティが実装されていることを確認するにはどうすればよいですか
- 18. Java 2番目の静的メソッドが実行されていません
- 19. クラスに静的メソッドがあるかどうかを確認
- 20. は、Javaでvs extends genericsを実装しています
- 21. 静的メソッドと静的変数のjava
- 22. 静的メソッドと非静的メソッドの両方でオーバーロードされるメソッド
- 23. Codename OneでiOS/AndroidにX509TrustManagerが正しく実装されていることを確認する方法
- 24. Oracleバックアップが実行されていることを確認する
- 25. herokuでインスタンスが実行されていることを確認する方法
- 26. Mockitoテスト:静的メソッドがフラグメント内で呼び出されたことを確認します。
- 27. UIWebViewがロードされていることを確認する
- 28. メッセージが受信されていることを確認する
- 29. NSISアプリがインストールされていることを確認する
- 30. チェックボックスがチェックされていることを確認する
@ Kirk Woll:私は、物事をサブクラス化したり、静的でなければならない非静的なメソッドを宣言する必要がないようにしようとしています。同時に、ジェネリックスを使用してコードを可能な限り簡潔に保ちたい。 – ryyst
@user、私の主張は、もしあなたが*そのような制約を加えることができたとしても、最初は汎用的な 'MyList'の中でその能力を使うことができないからです。これらの静的メソッドを汎用リストから呼び出すことはできません。静的メンバーでは、汎用パラメータを使用して何も行うことはできません。 –
IMHO、あなたのメソッドは静的であってはなりません。それぞれのインスタンスに対して同じ値を返すメソッドが必要であっても、 'this'は使用しない場合でも、静的であってはなりません(理解するのに一度はかかりました)。静的メソッドにはほんのわずかの用途しかありません。 – maaartinus