私は BST (二分探索木の略) と呼ばれる Java インターフェースを持っています。
public interface BST<Key extends Comparable<Key>,Value> {
public void put(Key key,Value value);
public Value get(Key key);
public void delete(Key key);
public Iterable<Key> keys();
}
今、上記のインターフェースの実装を定義したいと思います。私はこれを試しました
public class BSTImpl<Key extends Comparable<Key> ,Value> implements BST<Key extends Comparable<Key>,Value> {
...
}
上記の定義により、Eclipse IDE でエラー メッセージが表示され ます。extends
後のトークンが原因のimplements BST<Key
ようです。
トークン「extends」の構文エラー、予想
定義から「extends」トークンを省略すると (以下に示すように)、エラーはなくなり、Eclipse で未実装のメソッドを正しく生成できます。
public class BSTImpl<Key extends Comparable<Key> ,Value> implements BST<Key ,Value> {
@Override
public void put(Key key, Value value) {
// TODO Auto-generated method stub
}
@Override
public Value get(Key key) {
// TODO Auto-generated method stub
return null;
}
@Override
public void delete(Key key) {
// TODO Auto-generated method stub
}
@Override
public Iterable<Key> keys() {
// TODO Auto-generated method stub
return null;
}
}
そもそもなぜ extends トークンでエラーが発生するのでしょうか? 誰か説明してもらえますか?