话不多说,请看代码:
import java.util.Arrays;
import java.util.List;
/**
*
* 本类演示了Arrays类中的asList方法
* 通过四个段落来演示,体现出了该方法的相关特性.
*
* (1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用
* (2) 当使用asList()方法时,数组就和列表链接在一起了.
* 当更新其中之一时,另一个将自动获得更新。
* 注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性
* (3) asList得到的数组是的没有add和remove方法的
*
* 阅读相关:通过查看Arrays类的源码可以知道,asList返回的List是Array中的实现的
* 内部类,而该类并没有定义add和remove方法.另外,为什么修改其中一个,另一个也自动
* 获得更新了,因为asList获得List实际引用的就是数组
*/
public class AsListTest {
public static void main(String[] args) {
/* 段落一:基本数据类型使用asList中的问题 */
/* 说明:虽然在JDK1.6中能够将基本数据类型的数组转换成List,但还是有个缺陷 */
int[] a_int = { 1, 2, 3, 4 };
/* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */
List a_int_List = Arrays.asList(a_int);
foreach(a_int_List);
/* 为此我们需要这样遍历其中元素 */
foreachForBase(a_int_List);
/* 段落二:对象类型的数组使用asList,是我们预期的 */
Integer[] a_Integer = new Integer[] { 1, 2, 3, 4 };
List a_Integer_List = Arrays.asList(a_Integer);
foreach(a_Integer_List);
/* 段落三:当更新数组或者asList之后的List,另一个将自动获得更新 */
a_Integer_List.set(0, 0);
foreach(a_Integer_List);
foreach(a_Integer);
a_Integer[0] = 5;
foreach(a_Integer_List);
foreach(a_Integer);
/* 段落四:对基本类型数组,通过asList之后的List修改对应的值后,在运行时会报出异常
* 但是基本类型数组对应的List是会发生变化的,这是毫无疑问的
*/
/*
* a_int_List.set(0, 0);
* foreach(a_int_List); foreach(a_int);
*/
a_int[0] = 5;
foreachForBase(a_int_List);
foreach(a_int);
}
/* 打印方法 */
private static void foreach(List list) {
for (Object object : list) {
System.out.print(object + " ");
}
System.out.println();
}
private static void foreachForBase(List a_int_List) {
int[] _a_int = (int[]) a_int_List.get(0);
foreach(_a_int);
}
private static void foreach(int[] a_int) {
for (int i : a_int) {
System.out.print(i + " ");
}
System.out.println();
}
private static void foreach(Integer[] _a_Integer) {
for (int i : _a_Integer) {
System.out.print(i + " ");
}
System.out.println();
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# Arrays.asList
# java中为什么要谨慎使用Arrays.asList、ArrayList的subList
# Java Arrays.AsList原理及用法实例
# Java踩坑记录之Arrays.AsList
# Java Arrays.asList使用方法解析
# Java用Arrays.asList初始化ArrayList实例方法
# Java中Arrays.asList()方法详解及实例
# 浅谈Arrays.asList()方法的使用
# 浅谈Arrays.asList() 和ArrayList类型区别
# Java使用Arrays.asList报UnsupportedOperationException的
# 是一个
# 这是
# 成了
# 出了
# 是有
# 遍历
# 本类
# 其中一个
# 多说
# 转换成
# 不具备
# 毫无疑问
# 但还
# 它把
# 类中
# 应该是
# 在一起了
# _a_Integer
# println
# pre
相关文章:
成都网站制作公司哪家好,四川省职工服务网是做什么用?
建站之星在线客服如何快速接入解答?
建站之星展会模板:智能建站与自助搭建高效解决方案
在线教育网站制作平台,山西立德教育官网?
南京网站制作费用,南京远驱官方网站?
如何挑选高效建站主机与优质域名?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何撰写建站申请书?关键要点有哪些?
如何快速配置高效服务器建站软件?
如何在腾讯云免费申请建站?
建站主机CVM配置优化、SEO策略与性能提升指南
网站制作新手教程,新手建设一个网站需要注意些什么?
c++ stringstream用法详解_c++字符串与数字转换利器
网站制作知乎推荐,想做自己的网站用什么工具比较好?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
零服务器AI建站解决方案:快速部署与云端平台低成本实践
高防服务器租用如何选择配置与防御等级?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
大连网站设计制作招聘信息,大连投诉网站有哪些?
建站之星与建站宝盒如何选择最佳方案?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建站之星如何一键生成手机站?
七夕网站制作视频,七夕大促活动怎么报名?
建站之星如何助力网站排名飙升?揭秘高效技巧
如何自定义建站之星网站的导航菜单样式?
如何通过FTP空间快速搭建安全高效网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站之星3.0如何解决常见操作问题?
建站之星备案流程有哪些注意事项?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何在建站主机中优化服务器配置?
建站主机类型有哪些?如何正确选型
如何通过wdcp面板快速创建网站?
内网网站制作软件,内网的网站如何发布到外网?
如何自定义建站之星模板颜色并下载新样式?
如何选择适配移动端的WAP自助建站平台?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
javascript中对象的定义、使用以及对象和原型链操作小结
如何在服务器上三步完成建站并提升流量?
如何打造高效商业网站?建站目的决定转化率
如何用腾讯建站主机快速创建免费网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何快速上传建站程序避免常见错误?
如何快速搭建高效WAP手机网站?
已有域名和空间如何快速搭建网站?
建站之星如何配置系统实现高效建站?
如何快速生成橙子建站落地页链接?
如何通过.red域名打造高辨识度品牌网站?
模具网站制作流程,如何找模具客户?
已有域名如何免费搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。