Java 将二维数组转换为对象数组
我有一个2D数组,我需要将数组的每一行转换成一个单独的对象数组元素,该元素包含一个字符串、一个Int和多个double。现在,每个2D数组元素都存储为字符串 这是我的类对象:Java 将二维数组转换为对象数组,java,arrays,class,object,multidimensional-array,Java,Arrays,Class,Object,Multidimensional Array,我有一个2D数组,我需要将数组的每一行转换成一个单独的对象数组元素,该元素包含一个字符串、一个Int和多个double。现在,每个2D数组元素都存储为字符串 这是我的类对象: public Object() { String = "null"; Double1 = -1.0; Double2 = -1.0; Double3 = -1.0; Integer = -1; } 下面是我用来将2D数组转换为类数组的方法: public static void
public Object() {
String = "null";
Double1 = -1.0;
Double2 = -1.0;
Double3 = -1.0;
Integer = -1;
}
下面是我用来将2D数组转换为类数组的方法:
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]);
}
Object[i]=新对象(数据[i][0]、Double.parseDouble(数据[i][1])、Double.parseDouble(数据[i][2]),
Double.parseDouble(数据[i][3])、Integer.parseInt(数据[i][4])
其
类对象必须有一个具有reads 5参数的构造函数
(字符串、双精度、双精度、双精度、整数)
在
循环的内部赋值时,使用objArray[i]
代替Object[i]
还有一个错误,你还没有定义一个构造函数,它使用了<代码>字符串、双、双、双、int < />代码,并考虑将你的类从<代码>对象< /代码>重命名为别的东西。
您的构造函数可以如下所示:
public Object(String a, Double b, Double c, Double d, Integer e) {
string = a;
double1 = b;
double2 = b;
double3 = d;
integer = e;
}
哦,谢谢,这修复了那个错误,但我仍然得到了另一个错误:Program.java:42:error:class对象中的构造函数对象不能应用于给定的类型;Object[i]=新对象(数据[i][0]、Double.parseDouble(数据[i][1])、Double.parseDouble(数据[i][2])、Double.parseDouble(数据[i][3])、Integer.parseInt(数据[i][4]);^必需:未找到参数:String、double、double、double、int原因:实际参数列表和形式参数列表的长度不同,可能是因为缺少构造函数。不要定义名为Object
的类或任何其他预定义类。你最终会把自己和其他程序员弄糊涂。@user3264252我想你是java新手,在命名变量时请遵循camel case。我把它改为Object只是为了让它更容易理解,因为我的实际变量对一个局外人来说很难理解
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]));
public Object(String a, Double b, Double c, Double d, Integer e) {
string = a;
double1 = b;
double2 = b;
double3 = d;
integer = e;
}