java - 将二维数组转换为对象数组

标签 java arrays class object multidimensional-array

我有一个 2D 数组,我需要将数组的每一“行”转换为一个单独的对象数组元素,其中包含一个 String、一个 Int 和多个 Double。现在每个二维数组元素都存储为字符串。

这是我的类对象:

public Object() {
    String = "null";
    Double1 = -1.0;
    Double2 = -1.0;
    Double3 = -1.0;
    Integer = -1; 
}

这是我用于将二维数组转换为类数组的方法:

 public static void objectConvert() {
        Object[] objArray = new Object[count];
        for (int i = 0; i<count; i++) {
            objArray[i] = new Object(data[i][0], Double.parseDouble(data[i][1]), Double.parseDouble(data[i][2]), Double.parseDouble(data[i][3]), Integer.parseInt(data[i][4]));
        }
        System.out.println(objArray[0]);
        System.out.println(objArray[1]);
    }

这是我在编译时遇到的错误:

 javac Program.java

Program.java:42: error: constructor Object in class Object cannot be applied to given types;
                        Object[i] = new Object(data[i][0],
 Double.parseDouble(data[i][1]), Double.parseDouble(data[i][2]), Double.parseDouble(data[i][3]), Integer.parseInt(data[i][4]));
                                               ^
  required: no arguments
  found: String,double,double,double,int
  reason: actual and formal argument lists differ in length
1 error

最佳答案

for 循环内赋值时,使用 objArray[i] 代替 Object[i]

还有一个错误,您尚未定义一个采用 String,double,double,double,int 的构造函数,并考虑将您的类从 Object 重命名为其他名称否则。

你的构造函数可以是这样的:

public Object(String a, Double b, Double c, Double d, Integer e) {
    string = a;
    double1 = b;
    double2 = b;
    double3 = d;
    integer = e; 
}

关于java - 将二维数组转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737918/

相关文章:

javascript - 在 React.js 中的渲染 return() 中显示获取结果

c++ - 如何使用不同的方法实现从抽象派生的类?

java - Struts 2 可接受的参数名称

java - 如何在一定长度后使用拆分字符串?

javascript - 使用 blob 解析数组对象

c++ - 函数原型(prototype)认为一个类类型是未定义的,尽管它在同一个头文件中定义

c# - Foo.class 是做什么的?

Java更新语句问题

java - 如何通过 URL 发送当前文本字段值?

ios - 尝试使用 swift 根据对象的公共(public)键拆分对象数组