【发布时间】:2018-07-09 21:01:15
【问题描述】:
当试图声明一个新的ObservableList时:
ObservableList<Account> userAccounts = new FXCollections.observableArrayList();
我在observableArrayList(); 收到一条错误消息:
找不到符号,符号:类
observableArrayList,位置:类FXCollections。
这是我的导入语句
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?
【问题讨论】:
-
摆脱
new。 -
observableArrayList()是静态方法,而不是类。 -
这行得通,但为什么呢?如果我想创建一个数组列表,例如 ArrayList
test = new ArrayList();,我需要 new -
静态方法不需要使用
new,因此请使用:ObservableList<Account> userAccounts = FXCollections.observableArrayList(); -
调用构造函数时使用
new关键字。
标签: java javafx constructor observablelist