【发布时间】:2019-09-28 09:28:16
【问题描述】:
我正在尝试使用在一个类中创建的数组并使用Clone() 通过触发方法将其克隆到另一个类中,但它会引发空指针异常
int[] mat[];
int N;
int SRN;
int K;
int send[][];
Generate()
{
}
Generate(int N, int K)
{
this.N = N;
this.K = K;
// Compute square root of N
Double SRNd = Math.sqrt(N);
SRN = SRNd.intValue();
mat = new int[N][N];
}
public int[][] SendAry()
{
return send.clone();
}
并从另一个类中调用此方法并将其字符串化到一个数组中
Generate ARY=new Generate();
int Values[][]=ARY.SendAry();
【问题讨论】:
-
看起来
send没有被创建。您需要在构造函数中添加行send = new int[a number][another number]。 -
send始终为空,因为您从未初始化它 -
您分配给
mat,然后尝试克隆send。没用。 -
您的
send数组从未初始化,因此当您尝试在SendAry方法中访问它时将为空。此外,您几乎打破了 sn-p 中所有可能的 Java 编码约定... :-)