次のコードが機能しないのはなぜですか?
import java.util.Comparator;
public class TestInner {
public static void main(String[] args) {
Comparator<String> comp = new Comparator<String>(){
private String sample = null;
@Override
public int compare(String arg0, String arg1) {
// TODO Auto-generated method stub
return arg0.compareTo(arg1);
}
public void setText(String t1){
sample = t1;
}
};
// compiler error - Method is undefined for the type Comparator<String>
comp.setText("xyz");
}
}
サンプルコードだけで Comparator を使用しました。任意のオブジェクトの Comparator でも同じことが起こっています。
Comparator インターフェイスを実装した内部クラスを作成していますが、ここに新しいメソッドを追加できるようになったのはなぜですか?