繁体   English   中英

是否可以在ArrayList中存储double [] []数组 <double[][]> 在JAVA中?

[英]Is it possible to store double[][] array in ArrayList<double[][]> in JAVA?

我已经思考了一段时间。 我需要一个可以容纳一些double[][]数组,然后存储该数组以供将来使用的类。 我能想到的唯一存储选项存储double[][]中的ArrayList<>()double[][]的。

我确实实现了如下:

public class AddToArray {
    public String[] parameterNames;
    public ArrayList<double[][]> parametersToChange;    

public AddToArray(String[] parameterNames){
    this.parameterNames = parameterNames;
}

public void addToArray(double[][] parametersToChange) throws InsufficientInputException     

    for(int i = 0; i < parametersToChange.length; i++){
        if(parametersToChange[i].length != this.parameterNames.length)
            throw new InsufficientInputException("DATA DIMENSION MISMATCH");
    }
    // This below gives nullpointexception.
    this.parametersToChange.add(parametersToChange);

}

我通过这个例子称呼:

        double[][] parametersToChange = {{0.005,0.006},{0.007,0.008}};
    String[] par = {"SI1","SI2"};
    AddToArray abc = new AddToArray(par);
    abc.addToArray(parametersToChange);
    System.out.println(abc.parametersToChange.get(0)[0][0]); // this would (in my ideal world) print out 0.005

我收到此调用的空指针异常,并且我认为无法创建“ ArrayList”。 我还有什么其他选择,我真的无法弄清楚吗?

您是否初始化了arraylist?

parametersToChange = new ArrayList<>();

您忘记初始化parametersToChange

由于在Java中实现了泛型的方式(类型擦除),所以数组和泛型不能很好地协同工作。

Joshua Bloch在有效Java中对该主题进行了讨论,您可以在这里找到该部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM