全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Arrays.asList方法总结

话不多说,请看代码:

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小时内与您取得联系。