Java数组asList()使用方法总结
来源:互联网 发布:windows找不到regedit 编辑:程序博客网 时间:2024/05/16 15:50
Java中Arrays的asList()方法 可以将 数组转为List ,但是该方法很容易让人犯错或产生误解。
如果将数组作为参数进行传递,基本类型数组将被视为一个对象而不会被解析成数组,因此传递基本类型数组时强烈建议转为其封装类对象的数组 int ->Integer ,long->Long …………。即数组类型必须是 引用类型的。
请看下面例子:
public class demo4 {public static void main(String[] args) {// TODO Auto-generated method stub String s[]={"aa","bb","cc"}; List<String> sList=Arrays.asList(s); for(String str:sList){//能遍历出各个元素 System.out.println(str); } System.out.println(sList.size());//为3 System.out.println("- - - - - - - - - - -"); int i[]={11,22,33}; List intList=Arrays.asList(i); //intList中就有一个Integer数组类型的对象,整个数组作为一个元素存进去的 for(Object o:intList){//就一个元素 System.out.println(o.toString()); } System.out.println(intList.size()); System.out.println("- - - - - - - - - - -"); Integer ob[]={11,22,33}; List<Integer> objList=Arrays.asList(ob); //数组里的每一个元素都是作为list中的一个元素 for(int a:objList){ System.out.println(a); } System.out.println("- - - - - - - - - - -"); int[] intArray = {1,2,3}; List<int[]> myList = Arrays.asList(intArray); System.out.println(myList.size()); System.out.println(myList.get(0).length); System.out.println("- - - - - - - - - - -"); }执行结果:
aabbcc3- - - - - - - - - - -[I@41aff40f1- - - - - - - - - - -112233- - - - - - - - - - -13- - - - - - - - - - -
如果将数组作为参数进行传递,基本类型数组将被视为一个对象而不会被解析成数组,因此传递基本类型数组时强烈建议转为其封装类对象的数组 int ->Integer ,long->Long …………。即数组类型必须是 引用类型的。
原因:在Arrays.asList方法中T是参数类型,因此它必须为一个Object 类型,不可以是基本类型。
1.如果你要将一个数组转换为list时仅仅是要将其转换为一个string,那么最好使用Arrays.toString代替上面的方法,即使对于基本类型的数组该方法也不会出现任何问题。
2.如果你打算将一个基本类型的数组转换为所对应的封装类型的list,使用Apache Commons Lang,类似下面这样使用ArrayUtils.toObject:
List<Integer> list = Arrays.asList(ArrayUtils.toObject(
new
int
[] {
1
,
2
}));
请注意:一般情况下推荐使用原始数据类型数组而不是装箱后的原始数据类型列表。
3.如果你打算将一个引用类型的数组转换为list,可以直接使用Arrays.asList:List<String> list = Arrays.asList(
new
String[] {
"a"
,
"b"
})
;
0 0
- Java数组asList()使用方法总结
- Java Arrays.asList 数组转list
- Java初学习 - Arrays.asList方法总结
- Array.asList的使用方法
- Java利用Arrays的asList方法输出数组数据
- Java利用Arrays的asList方法输出数组数据
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Fintech前沿技术周报【2017-1-17】
- JPush极光推送Java服务器端API
- 最小生成树Kruskal
- Express + MongoDB 搭建一个多人博客(node.js实战)
- kafka
- Java数组asList()使用方法总结
- spoj 11404 Save Thy Toys
- java对象的强引用,软引用,弱引用和虚引用
- http长轮询&短轮询
- 终端 setting up cocoapods master repo 不动
- Android Webview基础
- event-log-tags
- pdf怎样进行编辑并拆分页面
- Android中所涉及的常用设计模式