インタフェースメソッドでジェネリックメソッドパラメータを書くにはどうすればよいですか?インタフェースの汎用メソッドパラメータの書き方
public <T extends Mail> T getById(HttpServletResponse response, <ID extends Object> ID);
この行は私にエラーを与える:
<ID extends Object> ID
任意のアイデア?
インタフェースメソッドでジェネリックメソッドパラメータを書くにはどうすればよいですか?インタフェースの汎用メソッドパラメータの書き方
public <T extends Mail> T getById(HttpServletResponse response, <ID extends Object> ID);
この行は私にエラーを与える:
<ID extends Object> ID
任意のアイデア?
もうすぐです。
public <T extends Mail, ID> T getById(HttpServletResponse response, ID id) {
注意:extends Object
は、ワイルドカードの意味のある境界ではありません。 ID
を1つのメソッドにワイルドカードとして宣言することは、ほとんどの場合境界なしで役に立たないことはほとんどありません。
私はちょうどそれをトリックとして使いたいです。オブジェクトの代わりに私はIDを見たい(私は私のメソッドのためにjavadocをもっと明瞭にするために追加する)。しかし、私はStringメソッドを実装したいときに問題がある。それがエラーを起こすので、私はどうしたらいいですか? – kamaci
コードがはっきりしていれば、それ以外の型の宣言には問題ありません。あなたがどんなエラーを出しているのか分かりません...コードを投稿してください。エラーが表示されます。 –
メソッドが返すことができるのは 'null'だけです。また、正常に戻ることはできません。 –
これは 'public T getById(HttpServletResponse response、Object ID)とどのように違うのですか? –
newacct