【发布时间】:2017-10-23 08:10:01
【问题描述】:
所以我正在尝试创建一个简单的程序,允许我将 Int、String、double.... 的数组放入一个对象并打印它:
public class Array<E> {
private E[] data;
private int size;
public Array(int size, E[] data)
{
this.size=size;
for(int i=0; i<size; i++) this.data[i]=data[i];
}
public String toString()
{
String s=new String();
for(int i=0; i<size; i++) s+=data[i]+" ";
return s;
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[]= {1, 3, 5, 7};
Array<Integer> niza=new Array<Integer>(4, A);
System.out.println(niza.toString());
}
}
但是,每当我尝试创建对象时,它都会给我这个错误:
线程“main”java.lang.Error 中的异常:未解决的编译问题: 构造函数 Array(int, int[]) 未定义
at test.Main.main(Main.java:8)
对导致问题的原因和可能的解决方案有任何想法吗?
提前致谢!
【问题讨论】:
-
声明你的数组是这样的:
Integer A[]= {1, 3, 5, 7}; -
不,它仍然无法正常工作。
-
@AndrewTobilko 这是他自己的......但目前的问题在 Jens 的回答中得到了解释,由于
this.data为空,他现在有 NPE