【问题标题】:Method element(int) is undefined for ArrayList<double>ArrayList<double> 的方法 element(int) 未定义
【发布时间】:2014-04-12 14:48:36
【问题描述】:
protected ArrayList<double[]> amostra = new ArrayList<double[]>();

public double[] element(int k){
    return amostra.get(k);

public static void main(String args[]){
        double k[]= {4,5,6};
        double k1[]= {0,0,0};
        double k2[] = {1,1,3};
        ArrayList<double[]> amostra = new ArrayList<double[]>();
        amostra.add(k);
        amostra.add(k1);
        amostra.add(k2);
        amostra.size();
        System.out.println(amostra.element(1));

所以这是我的代码,我正在将向量添加到 arraylist amostra,并且我想将位置 k 的元素打印到控制台,但是当我尝试这样做时,我得到了错误 ArrayList 类型的方法 element(int) 未定义

任何帮助将不胜感激:)

【问题讨论】:

  • 什么是amostra?您对错误消息有什么不明白的地方?
  • 您必须使您的 arrayList amostra 静态并让您的 element 方法静态。然后像这样调用element 方法System.out.println(element(1));
  • 我之前的评论假设你有这两个东西和你的main在同一个类中
  • docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html:你看到一个名为 element() 的方法吗?那么,为什么您会对这条错误消息感到惊讶?
  • 是的,这就是问题所在,我正在为我的类定义方法,然后调用没有定义这些方法的 ArrayLists,抱歉我还是新手

标签: java arraylist get elements


【解决方案1】:

ArrayList 没有 element(int) 方法。这就是编译器发送给您的信息。使用 get(int x) 代替,它将返回双 array(不是向量!),存储在 ArrayList 的 x 位置:

int x;
double[] doubleArray = amostra.get(x);

如果你想访问数组列表中某个数组的特定位置,你应该使用类似:

amostra.get(arrayListPosition)[doubleArrayPosition];

最后一行将返回一个双精度值。

【讨论】:

  • 这确实是个问题,我正在创建一个类,方法元素只为该类定义,而不是为 ArrayLists 定义!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多