作为编程界的老大哥,Java一直是想要加入互联网行业的人的首选。为了能够更快更好地入行,很多零基础学员选择参加郑州Java培训班,跟着老师的脚步由浅入深的学习专业技术。今天千锋郑州小编就给大家分享使用Arrays.asList的注意事项。

Java是一个面向对象编程语言,在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合,Arrays.asList是工具类Arrays的一个内部静态类,asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。

需要注意的是,使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常。接下来我们通过一段代码来分析一下零基础学Java时比较常见的Arrays.asList错误用法:

该代码最终的输出结果是1,原因是在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数,但是因为int[]本身就是一个类型,所以data变量作为参数传递时,编译器认为只传了一个变量,这个变量的类型是int数组,所以size为1。基本类型是不能作为泛型的参数,按道理应该使用包装类型,但这里缺没有报错,因为数组是可以泛型化的,所以转换后在list中就有一个类型为int的数组。

输出的为元素类型:class [I

前后是否相等:true

因为jvm不可能输出array类型,array类型属于java.lang.reflect包,通过反射访问数组的这个类,编译时候生成的。所以要改为:

Integer[] data = {1,2,3,4,5};

List list = Arrays.asList(data);

System.out.println("列表中的元素数量是:" + list.size());

输出结果:列表中的元素数量是:5

说明编译器对Integer[] 处理不一样。Integer是可变长参数。传入过程中asList()方法实际是将Integer数组里的元素进行存储。

通过以上的例子我们可以看到,常见的Arrays.asList用法错误主要有三种:1)将基本类型数组作为asList的参数;2)将数组作为asList参数后,修改数组或List;3)数组转换为集合后,进行增删元素。如果你想获得更多Java学习教程资料,可以关注“千锋郑州”微信公众号,定期发布技术动态及行业资讯!零基础参加郑州Java培训班,可以来千锋申请长达两周的免费试听,亲身体验教学效果。

js 如何将java list集合转换成var类型数组_零基础参加郑州Java培训 一定要注意Arrays.asList的用法...相关推荐

  1. 什么都不懂的学java难不难_零基础转行学java到底难不难

    不少零基础的新手想要转行学习java可是不知道难度,南京学码思下面就给大家详细的说一说转行java的难度,希望能帮助到各位想要了解java的同学. 零基础转行学java到底难不难 新手转行学java到 ...

  2. java编程好学么_零基础小白学Java编程好学吗

    Java是一门不会衰落的开发语言,伴随着IT行业的兴起,目前学习java培训的人员也是变得更多了,但要想学好java的话通过自学是没有那样非常容易的事情.尤其是对于初学者的学生而言,那么零基础小白学J ...

  3. 0基础学java培训_零基础可以学习java课程么?零基础java培训需要多久?

    零基础可以学习java课程么? 第一.兴趣爱好是重要,总体目标很重要 在你学习培训java以前,一定要清晰自身对java是不是确实很感兴趣,還是一时头昏脑涨.终究学习培训java不仅要把握技术性,也要 ...

  4. JS 将字符串形式的日期转换成日期类型

    1.将字符串形式的日期转换成日期对象 var strTime="2011-04-16"; //字符串日期格式 var date=new Date(Date.parse(strTim ...

  5. java中json转换成string类型_java中String转换成json,json转换成String

    前置添加pom com.google.code.gson gson 2.2.4 1.json转换成String import com.google.gson.Gson; import com.goog ...

  6. 0基础学java可行吗_零基础可以学习JAVA吗?

    肯定是可以学的,每一个人做每一件事都是从0基础开始的,他们并不是生下来就会Java,会编程,都是通过后天的努力说得到的技能 你只需要找对方法,找对带你的人,你就可以学好 学习Java的方式有这几种: ...

  7. 从数据库查询出来的数据集合转换成 json 类型

    2019独角兽企业重金招聘Python工程师标准>>> java ---------------------------------------------------------- ...

  8. python零基础推荐书籍_零基础入门学习Java,这几本经典的Java学习书籍,可以推荐你看下,绝对受益匪浅!...

    书是人类不可或缺的精神食粮.正如高尔基所言:书是人类进步的阶梯.借名人名言给大家推荐一些对java学习有用的经典书籍,对程序员来说,我觉得最佳学习方式还是看书,看视频花费时间太长,而阅读博客则不够系统 ...

  9. java long转换double类型_Java 将Long转换成Double类型

    Java 将Long转换成Double类型,其实很简单,调用Long类型的Long.doubleValue(): // 将数据库获取的数据进行拼接成一个月数据 public static List g ...

最新文章

  1. 世界上最大的黑客 Party,有关“DEFCON”的十个冷知识
  2. 嵌入式linux启动过程分析,嵌入式Linux裸机开发(二)——S5PV210启动过程分析
  3. Java基础-关于session的详细解释
  4. 2020.12.17
  5. 数据中台推荐系统入门(二):两种经典的推荐算法
  6. python操作Excel的5种方式
  7. si4438-IAR不能接收和发送的问题
  8. Cloud for Customer的前端UI5是如何启动的
  9. html文本设置float,css怎么float(浮动)?
  10. 短信hz,批量注册、模拟登陆很难吗?一个Python爬虫案例告诉你答案!
  11. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.54%
  12. [论文阅读] iCaRL: Incremental Classifier and Representation Learning
  13. android 检测sqlite数据表中字段(列)是否存在
  14. Java结合docx4j生成docx文件
  15. python预测你的小孩身高_儿童身高预测方法
  16. NDB Cluster 基本介绍
  17. TSW马宝国杯 web(我马宝国被黑了)
  18. Thread out-of-synch 错误
  19. 《磨菇书三四章整理》
  20. 解决word中插入visio对象的图片大小修改问题

热门文章

  1. Linq中常用的方法
  2. Ubuntu wxWidgets
  3. 关于在CVS下无法获取更新的解决方法!!!
  4. .NET处理异常--zt
  5. SAP云解决方案和企业本地部署(On-Premise)混合架构下的安全认证权限管理
  6. 【报告分享】2020年中国企业直播服务市场研究报告.pdf(附下载链接)
  7. 蓝桥杯入门训练圆的面积
  8. 跨境电商将成全球贸易的主角,下半年跨境电商趋势是什么?
  9. signature=c0c1b69f720d190a4a817d6bf2ff57c3,Fungicidal substituted N-(1-iodopropargyl)thiazolidinones
  10. 知识蒸馏在广告系统中的应用(一)