Java数组转集合list中的神坑

news2025/2/25 9:47:58

在这里插入图片描述

目录

    • debug一下
    • Arrays.asList源码一探究竟

大家好,我是哪吒。

今天在review代码的时候,发现一个同事的是这样写的。

public void getData() {
    int[] arr = {1, 2, 3};
    List list = Arrays.asList(arr);
    ...
}

打眼没看出问题,一般不都这样写嘛。

但是,List中不可以存放基础数据类型,也就是说,这么写是无法如你所愿,将arr数组转为list集合的。

测试一下。哎呀,我的乖乖~

在这里插入图片描述

debug一下

很明显,Arrays.asList将数组arr转为List时,直接将arr当做一个元素放到了List中。

其实解决起来很简单,《阿里巴巴开发者手册》中明确规定,使用List时必须指定明确泛型。
在这里插入图片描述

Arrays.asList源码一探究竟

看一下asList的源码:

public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }

asList的参数是泛型T,也就是说基础数据类型不能转为泛型T?

试一下,没问题啊,老铁。

在这里插入图片描述
List的参数不能是基础数据类型,只能是引用数据类型,测试一下,啪啪打脸。

在这里插入图片描述

因为有自动装箱的存在,自动装箱是指将基本数据类型自动转换为对应的包装类对象,而不需要显式调用包装类的构造方法。

在Java中,自动装箱的主要目的是为了方便处理基本数据类型和包装类之间的转换。

自动装箱和拆箱是在编译器层面完成的,编译器会根据上下文自动进行装箱和拆箱操作,使得代码编写和阅读更加简洁和方便。

但是,只能是把 int 装箱为 Integer,不可能把 int 数组装箱为 Integer 数组。

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ChatGPT从瀑布模式到水母模式】如何赋能软件研发全流程?

【文末送书】今天推荐一本强大工具书《ChatGPT 驱动软件开发&#xff1a;AI 在软件研发全流程中的革新与实践》&#xff0c;本文将从其亮点与结构出发&#xff0c;详细阐发其对于运维、项目经理、程序员等的重要性与益处。 文章目录 导语内容作者简介专家推荐读者对象直播预告文…

如何去除水印?3款简单实用的手机去水印软件推荐

你有没有拍了一些特别好看的照片或者视频&#xff0c;然后却发现它们被水印搞得一团糟&#xff1f;这种感觉真是让人崩溃&#xff01;别着急我这就告诉你一个超简单的方法&#xff01;今天我给大家推荐几款超级简单好用的手机去水印软件&#xff0c;让你在几分钟内轻松搞定如何…

上海建工集团某上游企业使用OdooERP系统,实现低成本信息化的案例分享

苏州的王总&#xff0c;为上海建工配套生产建筑钢结构。公司规模不大&#xff0c;平时几十号人&#xff0c;繁忙时候&#xff0c;临时工加起来一两百号人。建筑行业&#xff0c;都是按照建筑项目进度&#xff0c;分批次交货。每批次任务&#xff0c;收到甲方图纸&#xff0c;设…

Python-turtle绘画出HelloKitty动漫人物(有趣小游戏)

Python-turtle绘画出HelloKitty&#xff08;有趣小游戏&#xff09; 效果图安装库Python代码 效果图 安装库 常用镜像源汇总&#xff1a;1. 豆瓣http://pypi.douban.com/simple/2. 清华大学&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 3. 清华大学开源镜像站 https…

学习笔记|单样本秩和检验|假设检验摘要|Wilcoxon符号检验|规范表达|《小白爱上SPSS》课程:SPSS第十一讲 | 单样本秩和检验如何做?很轻松!

目录 学习目的软件版本原始文档单样本秩和检验一、实战案例二、统计策略三、SPSS操作1、正态性检验2&#xff0e;单样本秩和检验 四、结果解读第一&#xff0c;假设检验摘要第二&#xff0c;Wilcoxon符号检验结果摘要。第三&#xff0c;Wilcoxon符号秩检验图第四&#xff0c;数…

大厂面试题-介绍一下自己对Netty

目录 用三点来简单的介绍下Netty&#xff1a; 面试官&#xff1a;哦&#xff0c;还不错&#xff0c;那你在说说为什么要用Netty&#xff1f; 面试官&#xff1a;那你在通俗地说一下Netty可以做什么事情&#xff1f; 面试官&#xff1a;那&#xff0c;在说说Netty有几种线程…

(一)、ts 基础类型 及class类举例字符雨和实现vue的挂在#app

文章目录 前言环境执行依赖node.js一、基础数据类型二、任意类型三、接口和对象类型四、 数组类型五、函数重载六、类型断言断言联合类型交叉类型 七、内置对象-Promise基础对象DOM和BOMPromise ts化代码雨案例 八、Class类(派生类和抽象类)派生类 abstract抽象类 classClass简…

彻底解决使用better-scroll页面不能滚动的问题

better-scroll这个组件不能说有多好&#xff0c;只能说可以拿来用用。但是很多人都碰到了引入这个组件以后&#xff0c;页面反而不能滚动的问题。今天我就来谈谈怎么彻底解决这个问题 首先要谈谈better-scroll页面滚动的原理&#xff1a; 如上图所示&#xff0c;只有当内容高度…

Mac终端学习

命令1&#xff1a;ifconfig 作用&#xff1a;列出本机所有的网络设备以及其上面的配置&#xff0c;主要指的是ip地址和mac地址 其他用法&#xff1a;sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0 作用&#xff1a;给en4加入别的网段 其他用法&#xff1a;sudo i…

在跑腿App系统开发中,如何构建系统架构?

1. 前后端分离架构 在跑腿App系统的构建中&#xff0c;采用前后端分离的架构是常见的做法。这意味着前端和后端是独立开发和部署的&#xff0c;它们通过API进行通信。常见的技术栈包括&#xff1a; 前端&#xff1a;使用框架如React、Vue.js&#xff0c;可能还有HTML、CSS、J…

@echo off 的作用

echo off 的作用 表示关闭批处理文件自身的回显&#xff0c;即执行此句之后的命令不会显示出来&#xff0c;只有输出结果会被显示 整体的理解就是 执行的命令不显示了&#xff0c;显示执行命令后的结果 其中&#xff0c; 表示关闭命令回显功能&#xff0c;即命令执行时不在…

MySQL(刷题)

1. 175组合两个表 左外连接 Q&#xff1a; 表: Person---------------------- | 列名 | 类型 | ---------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | ---------------------- personId 是该表的主键&#…

论文翻译-ImageNet Classification with Deep Convolutional Neural Networks

[toc] 前言 AlexNet是是引领深度学习浪潮的开山之作&#xff0c;即使是我们现在进入了ChatGPT时代&#xff0c;这篇论文依然具有一定的借鉴意义。AlexNet的作者是多伦多大学的Alex Krizhevsky等人。Alex Krizhevsky是Hinton的学生。网上流行说 Hinton、LeCun和Bengio是神经网…

Netty(一)Netty简介与Java的IO模型

Netty&#xff08;一&#xff09;Netty简介与Java的IO模型 1 Netty简介与应用场景 ​ Netty是由JBOSS提供的一个Java开源框架&#xff0c;现为Github上的独立项目。 Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用以快速开发高性能、高可靠性的网络IO程序Nett…

Spring底层原理(四)

Spring底层原理(四) 本章内容 模拟实现Spring中的几个常见BeanFactory后置处理器 常见的BeanFactory后置处理器 GenericApplicationContext context new GenericApplicationContext(); context.registerBean("config",Config.class); context.registerBean(Conf…

算法通过村第十八关-回溯|青铜笔记|什么叫回溯(中篇)

文章目录 前言回溯的核心问题撤销操作解释总结 前言 提示&#xff1a;阳光好的时候&#xff0c;会感觉还可以活很久&#xff0c;甚至可以活出喜悦。 --余秀华 回溯是非常重要的算法思想之一&#xff0c;主要解决一些暴力枚举也搞不定的问题&#xff08;这里埋个坑&#x1f4a3;…

LED显示屏的4种连接方式

全彩LED显示屏是由多块LED模组拼接起来的LED大屏幕&#xff0c;而显示屏模组是由许多的LED灯珠组装起来的。LED显示屏效果好不好&#xff0c;和LED显示屏组装有很大的关系。而显示屏的组装关键在连接方式上&#xff0c;如果连接不好将影响LED显示屏的画面质量&#xff0c;甚至会…

Arduino开发

文章目录 Arduino IDE 的使用1. 使能编译以及烧录的LOG&#xff1a;2. 下载配置3. 下载 Arduino指令程序下载步骤通过下载器下载通过串口下载 关于Arduino IDE工程生成的二进制文件对比Tools-->burn bootloader 和 ArduinoISP例程 的区别自带例程 Arduino IDE 的使用 1. 使…

图数据库Neo4j——SpringBoot使用Neo4j 简单增删改查 复杂查询初步

前言 图形数据库是专门用于存储图形数据的数据库&#xff0c;它使用图形模型来存储数据&#xff0c;并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库&#xff0c;本篇博客介绍如何在SpringBoot中使用Neo4j图数据库&…

2023最新全国拉新app推广接单平台合集 地推网推项目平台渠道

平台 ”聚量推客“ 服务商直营的拉新平台 数据和结算都有保障 地推平台承上启下&#xff0c;对上承接甲方项目&#xff0c;对下对接渠道&#xff0c;方便甲方放单又方便渠道统一接单 以下是全国国内十大地推拉新app推广接单平台分享&#xff0c;2023最新全国拉新app推广接单平…