col*_*ore 469 java arrays android list arraylist
我怎么能转换List成ArrayJava中?
检查以下代码:
ArrayList<Tienda> tiendas;
List<Tienda> tiendasList;
tiendas = new ArrayList<Tienda>();
Resources res = this.getBaseContext().getResources();
XMLParser saxparser = new XMLParser(marca,res);
tiendasList = saxparser.parse(marca,res);
tiendas = tiendasList.toArray();
this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas);
setListAdapter(this.adaptador);
Run Code Online (Sandbox Code Playgroud)
我需要tiendas使用值填充数组tiendasList.
Eng*_*uad 1028
或者:
Foo[] array = list.toArray(new Foo[0]);
Run Code Online (Sandbox Code Playgroud)
要么:
Foo[] array = new Foo[list.size()];
list.toArray(array); // fill the array
Run Code Online (Sandbox Code Playgroud)
请注意,这仅适用于引用类型的数组.对于基本类型的数组,使用传统方式:
List<Integer> list = ...;
int[] array = new int[list.size()];
for(int i = 0; i < list.size(); i++) array[i] = list.get(i);
Run Code Online (Sandbox Code Playgroud)
Vit*_*nko 156
Java 8中的替代方案:
String[] strings = list.stream().toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)
小智 41
我认为这是最简单的方法:
Foo[] array = list.toArray(new Foo[0]);
Run Code Online (Sandbox Code Playgroud)
我在没有 Java 8 的情况下想到的最好的事情是:
public static <T> T[] toArray(List<T> list, Class<T> objectClass) {
if (list == null) {
return null;
}
T[] listAsArray = (T[]) Array.newInstance(objectClass, list.size());
list.toArray(listAsArray);
return listAsArray;
}
Run Code Online (Sandbox Code Playgroud)
如果有人有更好的方法,请分享:)
| 归档时间: |
|
| 查看次数: |
650317 次 |
| 最近记录: |