Java のジェネリックについて質問がありますが、答えが見つかりません。これが私の現在のコードです:
interface ISelect<T>{
// a predicate that determines the properties of the given item
public boolean select(T t);
}
class BookByPrice<T> implements ISelect<T> {
int high;
int low;
public BookByPrice(int high, int low) {
this.high = high;
this.low = low;
}
public boolean select(T t) {
return t.getPrice() >= this.low && t.getPrice() <= this.high;
}
}
したがって、基本的には、インターフェイス ISelect を実装し、リスト実装として機能するクラスの別のインターフェイスのフィルター メソッドで使用される述語として機能するこのクラス BooksByPrice を定義する必要があります。BooksByPrice には、書籍の価格が安値と高値の間にある場合に true を返すこのメソッド select が必要です。BooksByPrice クラスの本体全体は変更される可能性がありますが、インターフェイスはコード内にそのまま残す必要があります。本のメソッドとフィールドを使用できるように、クラス BooksByPrice でジェネリック型 T をインスタンス化する方法はありますか? それ以外の場合、select メソッドがジェネリックをパラメーターとして持つ理由はわかりません。
助けてくれてありがとう。