私は物というパッケージを持っています。このパッケージには、Fruit、Food、Perishable、Shoes、Itemなどのレギュラークラスと抽象クラスがあります。クリックするとこれらをフィルタリングするフィルタを作成します。たとえば、ボタンの果物をクリックすると、果物が収穫されます。 CODEと呼ばれる別のパッケージには、4つのクラスがあり、それぞれデータとメソッドのインポート、アプリケーションの実行、GUIとコントローラなどの機能を提供します。私はボタンを表示するためにGUIクラスを設定しましたが、GUIクラスでクリックされたボタンに応答するクラスである "リスニング"クラスでJavaにアイテムをフィルタリングする方法を混乱させています。コードを書くにはどうすればいいですか?私は以下を試しましたが、うまくいきません。私は物事を輸入しなければならないのですか? Javaでアイテムをフィルタリングする
は別のポストでは、このコードがあった:List<Person> beerDrinkers = persons.stream()
.filter(p -> p.getAge() > 16).collect(Collectors.toList());
//Lets say I edit this to make it similar to my problem
List<Item> Perishables = Food.stream()
.filter(p -> p.getName()).collect(Collectors.toList());
動作しないでしょうし、それは私にエラーが発生します。誰かがこのコードがどのように機能し、どのように問題に適用できるか説明できますか?
// I currently have this empty in my controller class to use as a filter. Am I suppose to filter over here or in the class that holds the methods?
else if(text.equals("Food")){
}
パッケージ public abstract class食品拡張アイテム{
String Expiration_Date;
public String toString()
{
return super.toString() + ", Expiration: " + Expiration_Date;
}
}
package Products;
public class Fruit extends Perishable {
public Fruit(String s)
{
StringTokenizer stk = new StringTokenizer(s);
stk.nextToken();
this.Item_name = stk.nextToken();
this.Item_code = stk.nextToken();
this.price = Double.parseDouble(stk.nextToken());
this.Expiration_Date = stk.nextToken();
if (stk.nextToken().compareTo("false") == 0)
this.flag = false;
else
this.flag = true;
this.inventory = Integer.parseInt(stk.nextToken());
}
public String toString()
{
return super.toString();
}
}
私の関心を引っ張ってきたことが1つあります。あなたはコードを持っています:filter(p - > pgetName())。フィルターに渡される関数は、ブール値を返す必要があります。関数名は、フィルターによって使用される値を返すgetNameです。戻り値はブール値ではありません。 – user902383
さらに、あなたはあなたが得ているエラーを追加することができますか?それはいくつかの問題をクリアすることができます – user902383