簡體   English   中英

獲取清單 <Integer> 從資源數組

[英]Getting a List<Integer> from a resource array

我有一個帶整數的字符串數組資源。

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

</string-array>

我的目標是將它們放入List<Integer>類型的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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM