Java &引用;缺少数组维度,应为''&引用;
我正在尝试将客户数据传递到表中。但是,在编写这个私有方法时,我一直收到上面的错误消息。我对Java相当陌生。有什么帮助吗Java &引用;缺少数组维度,应为''&引用;,java,arrays,object,private,Java,Arrays,Object,Private,我正在尝试将客户数据传递到表中。但是,在编写这个私有方法时,我一直收到上面的错误消息。我对Java相当陌生。有什么帮助吗 private void addCustomerToTable(Customer customer){ DefaultTableModel model = (DefaultTableModel) accountTable.getModel(); model.setRowCount(model.getRowCount()+1); model.addRow
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需要很长时间才能启动。我也将很快删除这一行)
创建数组并立即填充它时,需要大括号。
例如,如果我创建一个double数组,并希望它包含值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中)
从:
或者,可以使用快捷方式语法创建和初始化数组:
这里,数组的长度由大括号之间提供的值的数量决定,并用分隔符分隔
逗号
数组对象需要用大括号
{}
而不是括号()
来定义/括起来
例如:
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中数组的更多信息,请参阅:
new Object[]{customer.getFirstName(),customer.getLastName(),customer.getAccount().getAccountNumber(),customer.getAccount().getBalance()}
在@Eran的注释中注意大括号而不是圆括号的使用。这很有帮助。谢谢
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()
});
}