2011-10-25 8 views
0

インタフェースメソッドでジェネリックメソッドパラメータを書くにはどうすればよいですか?インタフェースの汎用メソッドパラメータの書き方

public <T extends Mail> T getById(HttpServletResponse response, <ID extends Object> ID); 

この行は私にエラーを与える:

<ID extends Object> ID 

任意のアイデア?

+0

これは 'public T getById(HttpServletResponse response、Object ID)とどのように違うのですか? – newacct

答えて

4

もうすぐです。

public <T extends Mail, ID> T getById(HttpServletResponse response, ID id) { 

注意:extends Objectは、ワイルドカードの意味のある境界ではありません。 IDを1つのメソッドにワイルドカードとして宣言することは、ほとんどの場合境界なしで役に立たないことはほとんどありません。

+0

私はちょうどそれをトリックとして使いたいです。オブジェクトの代わりに私はIDを見たい(私は私のメソッドのためにjavadocをもっと明瞭にするために追加する)。しかし、私はStringメソッドを実装したいときに問題がある。それがエラーを起こすので、私はどうしたらいいですか? – kamaci

+0

コードがはっきりしていれば、それ以外の型の宣言には問題ありません。あなたがどんなエラーを出しているのか分かりません...コードを投稿してください。エラーが表示されます。 –

+0

メソッドが返すことができるのは 'null'だけです。また、正常に戻ることはできません。 –

関連する問題