gpt4 book ai didi

java - 如何从混合整数和浮点列表中一行初始化 ArrayList

转载 作者:行者123 更新时间:2023-12-02 11:43:58 24 4
gpt4 key购买 nike

我有以下代码运行顺利并成功打印出[1,2,3,4,5]。

import static java.util.Arrays.asList;

public class JavaApplication2 {
public static ArrayList<Integer> Foo()
{
return new ArrayList<>(asList(1,2,3,4,5));
}

public static void main(String[] args) {
System.out.println(Foo());
}
}

但是,如果我更改返回类型

ArrayList<Double>, 

然后我遇到“不兼容类型”编译错误。

问题:如何通过仅给出以下资源来编写函数体(如果在一行中完成那就太好了)?

  • 返回类型:

    ArrayList<Double>
  • 1.0、2、3.1、4、5

注意:我正在编写一个程序来从给定的列表文本生成代码,我无法标记逗号分隔值,该值可能是 1, 2, 3, 4, 5或 1.0、2.0、3.0、4.0、5.0 或它们的混合。

public class JavaApplication2 {
public static ArrayList<Double> Foo()
{
//HOW TO WRITE THIS FUNCTION BODY?
1.0, 2, 3.1, 4, 5
}

public static void main(String[] args) {
System.out.println(Foo());
}
}

我期待程序打印:

[1.0, 2.0, 3.1, 4.0, 5.0]

最佳答案

您可以使用DoubleStream来做到这一点:

public static ArrayList<Double> Foo() {
return DoubleStream.of(1.0, 2, 3.1, 4, 5)
.boxed()
.collect(Collectors.toCollection(ArrayList::new));
}

关于java - 如何从混合整数和浮点列表中一行初始化 ArrayList<Double>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48332271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com