[英]Android/Java ArrayList<T> map to ArrayList<String>
我無法弄清楚如何將數組從存儲類型映射到其他類型。 不幸的是我不能使用Java 8。
我有ArrayList<T>
,我想映射它,所以我將有ArrayList<String>
我怎樣才能實現它?
假設T obj
有方法obj.toString()
我為谷歌做了准備。 我能找到的是如何將ArrayList<String>
轉換為String[]
或將Map<K,V>
為ArrayList<V>
。 這不是我要找的東西:(
感謝您的幫助!
從某種類型T
映射到String
的流解決方案如下:
ArrayList<String> resultSet =
someList.stream()
.map(Object::toString) // or ClassName::toString
.collect(Collectors.toCollection(ArrayList::new));
相當於:
ArrayList<String> accumulator = new ArrayList<>();
for(T obj : someList)
accumulator.add(obj.toString());
您可以使用Guava Lists.transform()函數。
Function<T, String> objToString =
new Function<T, String>() {
public String apply(T t) { return t != null ? t.toString() : null; }
};
List<String> newList = Lists.transform(srcList, objToString);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.