我有兩個類,它們都包含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;
}
}
但此功能僅適用於來自特定課程的一個對象。我發現了泛型的功能,但是我遇到了一個問題。在這個函數中,我必須使用具體的方法,這兩個類都有(getActionButton()
,getObservableList()
)
我碰到過這樣的代碼,但編譯器告訴我這些函數的缺失,我該如何做得更好?
public <T> T findCarTableView(T t, Button button) {
for(T carnet : t.getObservableList()) {
if(carnet.getActionButton().equals(button)) {
return carnet;
}
}
return null;
}
@Updated但仍然沒有解決我的問題 – Michael213
「編譯器告訴我關於缺少這些功能」 - 你什麼意思?你有編譯錯誤嗎?什麼是確切的錯誤信息? – Jesper
方法getObservableList()未定義類型T – Michael213