【问题标题】:How can i convert from ArrayList<String> to double[]? [duplicate]如何从 ArrayList<String> 转换为 double[]? [复制]
【发布时间】:2015-01-01 19:34:42
【问题描述】:

我有一个这样的 ArrayList:

[5, 181, 138, 95, 136, 179]

我想要做的是将此列表转换为双 []。像这样的。

double[] Fails = new double[]{5, 181, 138, 95, 136, 179};

这是我的代码:

    ArrayList<String> DatesList = new ArrayList<String>();
    ArrayList<String> FailList = new ArrayList<String>();


    while (rs2.next()) {
        DatesList.add(rs2.getString("Date"));
        FailList.add(rs2.getString("fail"));
    }

    double[] Fails = new double[]{FailList}; //obviously it doesn't work..

有没有办法从ArrayList转换成double[]?

【问题讨论】:

  • 遍历它并将每个成员解析为双精度。显然你不能将初始化块与集合一起使用,也不能将字符串分配给双精度数。
  • @JeroenVannevel 如果标记为重复,至少包含一个链接....
  • @JeroenVannevel 我不认为它是重复的!应该重新打开!
  • @JeroenVannevel 我的意思是一个合适的例子,这个问题的问题是将String转换为Double。而不是 ArrayList 到 Array
  • @JeroenVannevel,@nafas,我认为你们俩都是对的。参考问题似乎与我的相同。问题是对于我的“短裤知识”来说,所有答案都不够清楚,我想念它`Double.parseDouble(failList.get(i));`来获得我正确的双重对象。但这是真的,从一些建议中得到你自己的答案要好得多,它会让我变得更好。无论如何,谢谢你们。

标签: java arraylist double


【解决方案1】:
List<String> failList = new ArrayList<>();

while (rs2.next()) {        //whatever that is (copied from OP)
    failList.add(rs2.getString("fail"));
}

double[] failsArray = new double[failList.size()]; //create an array with the size of the failList

for (int i = 0; i < failList.size(); ++i) { //iterate over the elements of the list
    failsArray[i] = Double.parseDouble(failList.get(i)); //store each element as a double in the array
}

这段代码的作用是,它首先创建一个数组failsArray,其大小与failList 相同。然后,它遍历failList 并将每个项目解析为双精度并将其存储在failsArray 中。

【讨论】:

  • 太棒了,完美运行。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
  • 2012-11-26
  • 2015-07-20
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多