[英]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)。
List<Integer>
? 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.