尝试申报新的ObservableList
时:
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
我在observableArrayList();
收到错误消息:
找不到符号,符号:class
observableArrayList
,location:classFXCollections
。
以下是我的导入声明
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
这是我的方法
public ObservableList<Account> getUsersAccounts(int memberID) {
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
try {
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM account WHERE member_id='" + memberID + "'";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
Account account = new Account(rs.getInt("member_id"), rs.getString("account_type"), rs.getDouble("balance"));
userAccounts.add(account);
}
} catch (SQLException ex) {
Logger.getLogger(JDBCManager.class.getName()).log(Level.SEVERE, null, ex);
}
return userAccounts;
}
我缺少什么,为什么我不能宣布新的ObservableList
?
答案 0 :(得分:6)
可以使用构造函数直接创建实例,也可以通过调用可以调用此构造函数的方法隐式创建实例。
在您的情况下,它是一种静态方法。看看这些技巧:
List<String> a = new ArrayList<>();
List<String> b = Lists.createList();
class Lists {
public static <T> List<T> createList() {
return new ArrayList<>();
}
}
答案 1 :(得分:6)
更改
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
到
ObservableList<Account> userAccounts = FXCollections.observableArrayList();