ArrayList和Array之间的转换
- ArrayList转Array
(1):使用ArrayList的toArray方法。
1)当ArrayList中存放的是引用类型时(例如String),成功
/**
* 使用了ArrayList的toArray方法 ,ArrayList里存放的是String(引用类型)
*/
@Test
public void list2Array1() {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
Object[] array = arrayList.toArray(new String[3]);
for (Object o : array) {
System.out.println(o);
}
}
输出为:
[1, 2, 3]
2) 当ArrayList中存放的是基本数据类型时(例如int),成功
/**
* 使用了ArrayList的toArray方法 , ArrayList里存放的是int(基本数据类型)
*/
@Test
public void list2Array2() {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
Object[] array = arrayList.toArray();
System.out.println(Arrays.toString(array));
}
输出为:
[1, 2, 3]
- Array转ArrayList
(1):使用Arrays的asList方法。
1)当Array中存放的是引用类型时(例如String),成功
/**
* 使用Arrays的asList方法,Array中存放的String(引用类型)
*/
@Test
public void array2List1() {
String[] stringArray = new String[] { "1", "2", "3" };
List<String> list = Arrays.asList(stringArray);
System.out.println(list);
}
输出为:
[1, 2, 3]
2) 当Array中存放的是基本数据类型时(例如int),不成功
/**
* 使用Arrays的asList方法,Array中存放int(基本类型)
*/
@Test
public void array2List2() {
int[] intArray = new int[] { 1, 2, 3 };
List<int[]> intList = Arrays.asList(intArray);
System.out.println(intList.size());
for (int[] is : intList) {
System.out.println(Arrays.toString(is));
}
}
输出为:
[[I@14514713]
List的长度为 : 1
[1, 2, 3]
这个问题解决的方法就是将int[]换成Integer[],这样内容就成了对象数组(即引用类型)。
/**
* 使用Arrays的asList方法,Array中存放int(基本类型)
*/
@Test
public void array2List3() {
Integer[] integerArray = { 1, 2, 3 };
List<Integer> intList = Arrays.asList(integerArray);
System.out.println(intList);
System.out.println("List的长度为 : " + intList.size());
for (Integer is : intList) {
System.out.println(is);
}
}
输出为:
[1, 2, 3]
List的长度为 : 3
1
2
3
参考文献:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~