Java集合不能存放基本数据类型
Java集合不能存放基本数据类型,只能存放对象的引用。
每个集合元素都是一个引用变量,实际内容都存放在堆内或方法区里面,
但是基本数据类型是在栈内存上分配空间的,栈上的数据随时会被收回。
如何解决?
可以通过包装类,把基本数据类型转化为对象类型,存放引用。
更方便的,由于有了自动拆箱和装箱功能,基本数据类型和其对应对象
之间的转换变得很方便,把基本数据类型存入集合中可以自动存,系统
会自动将其装箱成封装类,然后将其加入到集合当中。
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
boolean | Boolean |
char | Charset |
int | Integer |
long | Long |
float | Float |
double | Double |
示例
int i = ;
Integer in = new Integer(i);//手动将i包装为Integer类型对象
HashSet set = new HashSet();//定义一个Set集合
set.add(in);//将包装类对象加入该集合
System.out.println(set);//打印结果
同样的效果(自动包装)
int i = ;
Integer in = new Integer(i);//手动将i包装为Integer类型对象
HashSet set = new HashSet();//定义一个Set集合
set.add(in);//将包装类对象加入该集合
System.out.println(set);//打印结果
Java集合不能存放基本数据类型的更多相关文章
- Java集合:List、Set和Map的区别,ArrayList和LinkedList有何区别..........
一.数组和集合的区别: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型): 集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! J ...
- 【Java集合】Java中集合(List,Set,Map)
简介: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集 ...
- S2:java集合框架
Java集合就是一个容器.面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.集合只用于存储对象,集合长度是可变的,集合可以 ...
- Java集合详解(一):全面理解Java集合
概述 Java所有集合类都在java.util包下,支持并发的集合在java.util.concurrent(juc)包下. 集合与数组区别: 数组大小是固定的,集合大小可以根据使用情况进行动态扩容. ...
- Java集合数据类型
Java集合如Map.Set.List等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int.long.float.double等基础类型的数据. 1. 集合存储对象 Jav ...
- Java集合源码分析(三)LinkedList
LinkedList简介 LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈.队列和双端队列来使用. LinkedList同样是非线程安全 ...
- 【JAVA集合框架之工具类】
一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...
- Java集合容器简介
Java集合容器主要有以下几类: 1,内置容器:数组 2,list容器:Vetor,Stack,ArrayList,LinkedList, CopyOnWriteArrayList(1.5),Attr ...
- Java 集合深入理解(4):List<E> 接口
点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 蓝瘦!香菇! 连着加班几天,醉了.学学 List 放松下! 在 Java 集合深入理解:Collection 中我们熟悉了 ...
随机推荐
- eclipse编译器显示的文件名乱码,活动标签乱码(已解决)
在公司电脑上安装了最新eclipse版本却发现文件名会乱码,如下所示,重新安装仍存在问题. 解决方法: 打开菜单Window->Preferences 打开选项General->Appe ...
- AlphaGo的前世今生(一)Deep Q Network and Game Search Tree:Road to AI Revolution
这一个专题将会是有关AlphaGo的前世今生以及其带来的AI革命,总共分成三节.本人水平有限,如有错误还望指正.如需转载,须征得本人同意. Road to AI Revolution(通往AI革命之路 ...
- AX2009里调用.NET DLL的效率问题
经常在AX2009里引用.NET的DLL,因为序列化和反序列化,用.NET的定义的实体方便一些,平时数据量不大,也没觉得有什么问题,今天要把几万条数据从数据库中取出来序列化以后,调用第三方系统的接口, ...
- 使用pip安装包提示TLS证书错误解决办法
最近有在使用pip安装python包的时候,总会出现以下类似的错误: Could not fetch URL https://pypi.python.org/simple/pytest-xdist/: ...
- JS数据类型之String类型
转换为字符串 var num = 10 num.toString(); //"10" 转换为字符串-参数表示几进制的字符串 var stringValue = "hell ...
- 微信小程序 project.config.json 配置
可以在项目根目录使用 project.config.json 文件对项目进行配置. miniprogramRoot Path String 指定小程序源码的目录(需为相对路径) qcloudRoot ...
- Windows下javac不可用,java -version可以
https://blog.csdn.net/kobedir/article/details/79709287
- Game Engine Architecture 4
[Game Engine Architecture 4] 1.a model of multiple semi-independent flows of control simply matches ...
- PHP上传图片例子
PHP上传图片例子 源码下载 两个文件: tu.php upload.php tu.php 代码: <?php ini_set("display_errors", &q ...
- 【相关网站 - 01】- Java 相关网站
一.官方网站 1. Java 官方网站 https://www.java.com/zh_CN/ 2. Spring 官方网站 http://spring.io/ 1. Spring Framework ...