gpt4 book ai didi

java - 从资源数组中获取 List

转载 作者:行者123 更新时间:2023-12-01 10:33:03 26 4
gpt4 key购买 nike

我有一个带有整数的字符串数组资源。

<string-array name="navChildRatings">
<item>12</item>
<item>12</item>
<item>17</item>
<item>123</item>
<item>8</item>

</string-array>

我的目标是将它们放入 List<Integer> 类型的列表中
作为第一步,我知道可以通过以下方式将它们分配到整数数组中:

int[] ratings = Arrays.asList(getResources().getIntArray(R.array.navChildRatings));

我试图避免循环遍历整数(int)数组并必须将其一一添加到整数列表(java.lang.Integer)中。

  1. 有没有直接的方法将字符串数组放入 List<Integer>
    或者,或者
  2. 有没有直接的方法来分配 int[]数组到 List<Integer>

注意:我的动机纯粹是为了拥有更优雅的代码。我知道如何通过循环数组来做到这一点。但是,例如,对于字符串,如果直接分配它就可以工作:

List<String> names = Arrays.asList(getResources().getStringArray(R.array.navChildNames));

最佳答案

不幸的是,这是不可能的,因为 asList不处理装箱(包装基元)并且不会自动创建对象。

如果您想保持代码优雅并使用 Java8,您可以轻松创建 lambda简单地做一下

如果您不使用 Java8,只需创建一个简单的方法将 int[] 转换为 List

    ArrayList<Integer> getList(int[] a)
{
List<Integer> l = new ArrayList<Integer>();

for(int i : a)
l.add( new Integer(i) );

return l;
}

然后

    List<Integer> items = getList(ratings);

关于java - 从资源数组中获取 List<Integer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979928/

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