私は2つのクラスを持っていますが、どちらもObservableListを含みますが、異なるオブジェクトで埋められています。Javaの汎用、汎用関数
public CarTableView findCarTableView(Button button) {
for(CarTableView carnet : carTableViewModel.getObservableList()) {
if(carnet.getActionButton().equals(button)) {
return carnet;
}
}
return null;
}
第一クラス::
public class CustomerTableView extends Customer{
private ObservableList<CustomerTableView> list = FXCollections.observableArrayList(); //HERE
private Button actionButton;
public CustomerTableView(String name, String surname, String city,
String postCode, String street,
String localNumber, Button actionButton) {
super(name, surname, city, postCode, street, localNumber);
this.actionButton=actionButton;
}
}
第二クラス:
public class CarTableView extends Car{
private ObservableList<CarTableView> list = FXCollections.observableArrayList(); //HERE
private Button actionButton;
public CarTableView(String brand, String engine, String yearOfProduction,
boolean navi, boolean available, int power,
Button actionButton) {
super(brand, engine, yearOfProduction, navi, available, power);
this.actionButton=actionButton;
}
}
しかし、この機能だけのために働く他のロジッククラスでは、私は私のリストの適切なオブジェクトを返す関数を持っています特定のクラスからの1つのオブジェクト。 Genericsのfunctonalityを見つけましたが、私は1つの問題に遭遇しました。この関数では、これらのクラスの両方で特定のメソッドを使用する必要があります(getActionButton()
,)
私はそのようなコードに出くわしましたが、コンパイラはこれらの関数が不足していると私に通知します。
public <T> T findCarTableView(T t, Button button) {
for(T carnet : t.getObservableList()) {
if(carnet.getActionButton().equals(button)) {
return carnet;
}
}
return null;
}
それでも「コンパイラは、これらの機能の欠如について私に知らせる」私の問題 – Michael213
を解決いけない - あなたは何を意味するのですか?コンパイルエラーが出ますか?正確なエラーメッセージは何ですか? – Jesper
getObservableList()メソッドは、タイプT – Michael213