Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;缺少数组维度,应为''&引用;_Java_Arrays_Object_Private - Fatal编程技术网

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

我正在尝试将客户数据传递到表中。但是,在编写这个私有方法时,我一直收到上面的错误消息。我对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需要很长时间才能启动。我也将很快删除这一行)

创建数组并立即填充它时,需要大括号。 例如,如果我创建一个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()
    });
}