"Array Dimension Missing, expected ' ; ' "
"Array Dimension Missing, expected ' ; ' "
我正在尝试将客户数据传递到 table。但是,在编写此私有方法时,我不断收到上述错误消息。我是 Java 的新手。有帮助吗?
private void addCustomerToTable(Customer customer){
DefaultTableModel model = (DefaultTableModel) accountTable.getModel();
model.setRowCount(model.getRowCount()+1);
model.addRow(new Object[] (customer.getFirstName(),
customer.getLastName(), customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()));
}
(我稍后会正确格式化代码。Eclipse 需要很长时间才能启动。我也会尽快删除这一行)
当您创建数组并立即填充它时,您需要大括号。
例如,如果我创建一个双精度数组并且我希望它包含值 1,2,3,4,5,我会这样做:
double[] array = new double[]{1.0,2.0,3.0,4.0,5.0};//Notice: I didn't specify the length of the array.
现在,对于您的具体情况,您需要:
model.addRow(new Object[] {
customer.getFirstName(),
customer.getLastName(),
customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()
});
Java 将创建一个长度等于给定值数(在您的情况下为 4)的数组。
来自javadoc:
或者,您可以使用快捷语法来创建和初始化数组:
int[] anArray = {
100, 200, 300,
400, 500, 600,
700, 800, 900, 1000 };
Here the length of the array is determined by the number of values provided between braces and separated by
commas.
数组对象需要 defined/enclosed 在花括号 {}
中而不是圆括号 ()
.
例如:
new Object[] { 1, 2, 3 };
所以在你的情况下,代码应该是:
private void addCustomerToTable(Customer customer) {
DefaultTableModel model = (DefaultTableModel) accountTable.getModel();
model.setRowCount(model.getRowCount() + 1);
model.addRow(new Object[] {
customer.getFirstName(),
customer.getLastName(), customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()
});
}
要了解有关 Java 中数组的更多信息,请参阅:https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html
我正在尝试将客户数据传递到 table。但是,在编写此私有方法时,我不断收到上述错误消息。我是 Java 的新手。有帮助吗?
private void addCustomerToTable(Customer customer){
DefaultTableModel model = (DefaultTableModel) accountTable.getModel();
model.setRowCount(model.getRowCount()+1);
model.addRow(new Object[] (customer.getFirstName(),
customer.getLastName(), customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()));
}
(我稍后会正确格式化代码。Eclipse 需要很长时间才能启动。我也会尽快删除这一行)
当您创建数组并立即填充它时,您需要大括号。 例如,如果我创建一个双精度数组并且我希望它包含值 1,2,3,4,5,我会这样做:
double[] array = new double[]{1.0,2.0,3.0,4.0,5.0};//Notice: I didn't specify the length of the array.
现在,对于您的具体情况,您需要:
model.addRow(new Object[] {
customer.getFirstName(),
customer.getLastName(),
customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()
});
Java 将创建一个长度等于给定值数(在您的情况下为 4)的数组。
来自javadoc:
或者,您可以使用快捷语法来创建和初始化数组:
int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
Here the length of the array is determined by the number of values provided between braces and separated by commas.
数组对象需要 defined/enclosed 在花括号 {}
中而不是圆括号 ()
.
例如:
new Object[] { 1, 2, 3 };
所以在你的情况下,代码应该是:
private void addCustomerToTable(Customer customer) {
DefaultTableModel model = (DefaultTableModel) accountTable.getModel();
model.setRowCount(model.getRowCount() + 1);
model.addRow(new Object[] {
customer.getFirstName(),
customer.getLastName(), customer.getAccount().getAccountNumber(),
customer.getAccount().getBalance()
});
}
要了解有关 Java 中数组的更多信息,请参阅:https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html