Java 包装类(Integer等)的详细介绍

Java的包装类是为了解决基本数据类型不面向对象的问题,如Integer等。它们与基本类型有区别,如存储位置、是否允许null值和初始值。包装类可以通过自动装箱和拆箱与基本类型互换。此外,Integer等包装类存在缓存机制,-128到127的数值会从缓存中获取,以提高效率。
摘要由CSDN通过智能技术生成

什么是包装类

Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。

八种基本数据类型与包装类的对应关系

基本数据类型 包装类
byte java.lang.Byte
short java.lang.Short
int java.lang.Integer
long java.lang.Long
float java.lang.Float
double java.lang.Double
boolean java.lang.Boolean
char java.lang.Character

基本数据类型与其对应包装类的区别

  1. 数据类型不同

    一个是基本数据类型,一个是引用数据类型

  2. 存储位置不同

    基本数据类型直接将数据保存在栈中,包装类直接将数据保存在堆中

  3. null的处理不同

    基本数据类型不能赋空值,包装类可以赋空值

  4. 初始值不同

    在基本数据类型中,整数类型的初始值是0,小数类型的初始值是0.1,boolean类型的初始值是false,char类型的初始值是’’(空字符)
    在包装类中,所有类型的初始值都为null

给包装类赋值的方式

// 方式一
Integer integer1 = new Integer(10);
// 方式二
Integer integer2 = Integer.valueOf(10);
// 方式三
Integer integer3 = 10;

注:其他包装类同理

装箱与拆箱

装箱:指将基本数据类型转换为包装类对象
拆箱:指将包装类对象转换为基本数据类型

// 手动装箱
Integer integer = Integer.valueOf(10);
// 手动拆箱
int i = integer.intValue();

JDK1.5之后,可以进行自动装箱和自动拆箱

// 自动装箱(等同于Integer.valueOf(10))
Integer integer = 10;
// 自动拆箱(等同于integer.intValue())
int i = integer;

注:其他包装类同理

包装类的缓存问题

示例一


                
最低0.47元/天 解锁文章
javaInteger包装类讲解
wyqwilliam的博客
06-17 376
1、integer类的定义: Integer使用final修饰说明Integer不允许有子类, extends继承了 Number,所以Number中的方法可以被Integer重写/实现 ,implements 了Comparable接口,实现接口说明Integer具备一定的能力, 比较大小的能力。 2、属性 3、构造方法 能过Integer类的构造方法可以得知,获取In...
Java Integer包装类缓存(cache)
weixin_42098295的博客
02-04 913
JavaInteger类有一个内部的缓存机制,主要用于优化自动装箱(autoboxing)和拆箱(unboxing)的性能。这个特性首次引入于Java 5,旨在减少对频繁使用的小整数值的重复对象创建,从而提高性能和减少内存使用。
Java基础Integer包装类
qq_46096136的博客
08-26 931
double java.lang.Double(父类Number)short java.lang.Short(父类Number)float java.lang.Float(父类Number)以上八种包装类中,重点以java.lang.Integer为代表进行学习,其它的类照葫芦画瓢就行。这些方法其实所有的数字包装类的子类都有,这些方法是负责拆箱的。自动拆箱:包装类自动转换成基本数据类。...
JAVA包装类——以Integer为例
最新发布
l_tian_tian_的博客
09-09 292
Integer类包装一个对象中的原始类int的值。类Integer的对象包含一个单一字段,其类为int。此外,该类还提供了一些将int转换为String和String转换为int,以及在处理int时有用的其他常量和方法。
Java 包装类Integer Character)
统木木的博客
06-23 1013
1什么是包装类 包装类(Wrapper Class): Java是一个面向对象的编程语言,但是Java中的八种基本数据类却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类设计了一个对应的类进行代表,这样八种基本数据类对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。 为什么不是面向对象的就会出现不足,是哪里不足?...
Java包装类Integer 详解 )
若尘的博客
04-23 3795
Java包装类Integer详解)
1.3 Integer类详解
you can you up up up的博客
09-24 556
Integer 类在对象中包装了一个基本类 int 的值。Integer 类对象包含一个 int 类的字段。此外,该类提供了多个方法,能在 int 类和 String 类之间互相转换,还提供了处理 int 类时非常有用的其他一些常量和方法。 Integer 类的构造方法 Integer 类中的构造方法有以下两个: Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值。 Integer(String s):构造一个新分配的 Integer 对象,它
javaInteger包装类装箱的一个细节详解
08-27
Java编程语言中,Integer是int基本数据类的封装类,提供了许多高级功能和与对象相关的操作。自从Java 5引入自动装箱和拆箱机制以来,我们可以在代码中方便地在int和Integer之间进行转换。然而,对于Integer的...
Java基本类包装类概述与Integer类、Character类用法分析
08-26
Java基本类包装类概述与Integer类、Character类用法分析 Java基本类包装类概述: Java基本类包装类是将基本数据类封装成对象的,以便在对象中定义更多的功能方法来操作该数据。常用的操作之一是用于基本...
java包装类练习.doc
01-14
Java 包装类包括 Boolean、Byte、Character、Short、Integer、Long、Float 和 Double 八种。 1. Long 包装类常量 cache 机制 在 Java 中,Long 包装类的常量 cache 机制是指在 -128 到 127 之间的值会被缓存在...
java中的Integer包装类
syl2850246的博客
10-03 292
Integer包装类转换为 基本数据类的方式: int d = i.intValue(); (其中 I 是一个Integer包装类 ,不能是字符串) int d = Integer.parseInt(str); (其中的str可以是字符串类,不过该字符串要正确描述该基本类可以保存的值,这是一个静态方法) ...
Java 中表示整数的包装类Integer(详解)
qq_52645134的博客
11-13 2551
Java中,Integer是一个类,它封装了一个int类的值,使得int类的值可以被当做对象来处理。Integer类提供了许多方法来操作整数值,包括将字符串转换为整数、将整数转换为字符串、比较两个整数值等。Integer类也提供了常量MAX_VALUE和MIN_VALUE,它们表示int类的最大值和最小值,以及常量TYPE,它表示Integer类所封装的整数类。在Java中,整数类包括int、short、byte和long,其中int类是最常用的整数类。是 Java 中的一个类,属于。
java integer 包_Java Integer highestOneBit()方法
weixin_28759987的博客
02-12 114
Java Integer highestOneBit()方法java.lang.Integer.highestOneBit()方法在指定的int值返回一个int值至多到单个1位,在最高位(“最左”)1位的位置。它返回0,如果指定的值没有一个位在其二进制补码表示法。1 语法public static int highestOneBit(int i)2 参数i :这是一个int值。3 返回值此方法返...
JAVA Integer包装类基础
Temper__的博客
08-12 169
一:常用转化 1.基本数据类转至包装类 Integer a = new Integer(2); Integer b = Integer.valueOf(2); 2.包装类转换至基本数据类 int c = a.intValue(); double d = a.doubleValue(); 3.字符串转换至包装类 Integer e = new Integer("2"); Integer f ...
Java_基本类包装类_Integer
hbkt的博客
04-21 374
Integer包装类: package com.hb2.基本类包装类; /* 构造方法: public Integer (int value), 根据int值创建Integer对象(已过时) public Integer (String s), 根据String值创建Integer对象(已过时) 静态方法获取对象: public static Integer valueOf (in.
Integer包装类详解(java)
罗铠威的博客
01-06 1525
包装类概念:包装类分类:包装类integer介绍:自动装箱和自动拆箱问题【⚠注意面试常考点】Integer常用方法:本篇博客以Integer包装类为例(其他包装类可类推)了解其常用方法作为int的包装类,内部封装了int的实际值和一系列对此基本数据类操作的方法。
java integer 包_JAVA包装类Integer详解
weixin_35619710的博客
02-16 730
包装类Integer1.构造方法:①Integer(int x)以int作为参数创建Integer对象;Integer number = new Integer(7);②Integer(String str)以String变量作为参数创建Integer对象;Integer number = new Integer("123");注意:要用数值String变量作为参数;2.常用方法:方法返回类...
Java——Integer
钢铁大侠的博客
04-19 600
Java——Integer
Java基本类包装类详解:Integer与Character操作实例
"Java基本类包装类用于将原始数据类转换为对象,提供更多的操作功能,如Integer和Character类。这些类包含各种方法,便于在基本数据类与字符串之间进行转换。本文通过Integer类的实例展示了如何进行二进制、八...
写文章

热门文章

  • SpringBoot 国际化LocaleContextHolder的基本配置 9366
  • vue-router使用是报错. TypeError: Cannot read properties of undefined (reading ‘matched‘) 8939
  • SpringBoot 集成Redis 对需要自增操作(increment)的key设置过期时间 8385
  • django.db.utils.OperationalError: (2003, “Can‘t connect to MySQL server on ‘127.0.0.1‘ ([WinError 10 7182
  • Redis 做分布式锁和红锁的原理以及Redisson的基本使用 5483

分类专栏

  • Exception 12篇
  • SpringBoot 34篇
  • Java 159篇
  • Mybatis 8篇
  • JaveSE 4篇
  • JVM 11篇
  • Redis 7篇
  • JavaEE 1篇
  • JUC 14篇
  • MySQL 7篇
  • I/O 1篇
  • SpringCloud 10篇
  • Dubbo 2篇
  • 分布式 5篇
  • Spring 14篇
  • Zookeeper 4篇
  • npm 1篇
  • Vue 16篇
  • python 7篇
  • Javascript 1篇
  • React 10篇
  • 网络 3篇
  • SSM 1篇
  • 算法 25篇
  • MQ 1篇
  • Neo4j 2篇
  • Oracle 4篇
  • PostgreSQL 3篇
  • JDBC 3篇
  • RabbitMQ 9篇
  • RocketMQ 7篇
  • ActiveMQ 9篇
  • Kafka 2篇
  • Elasticsearch 9篇
  • SpringMVC 3篇
  • IDEA 2篇
  • mongodb 2篇
  • Django 4篇
  • json 1篇
  • pycharm 1篇

最新评论

  • vue-router使用是报错. TypeError: Cannot read properties of undefined (reading ‘matched‘)

    Mr-Apple: 知道为什么是必须吗

  • 整数的原码、反码、补码、移码

    做而论道_CS: 由补码换算到十进制数,也极其简单。 你只需记住:【补码首位的权,是负数】。 一般的八位二进制数,各个位的权是:   128、64、32、16、8、4、2、1; 如果是八位的补码,各个位的权则是:  -128、64、32、16、8、4、2、1。   例如,补码是:1110 0001, 它代表的十进制是:-128 + 64 + 32 + 1 = -31。 又如,补码是:0110 0001, 它代表的十进制是:0 + 64 + 32 + 1 = +97。 你看吧,仅仅使用【进制转换】,就完事了! 哪里还需要用到原码反码? ------------ 实际上,二进制数,它就是数! 什么原码反码补码,都是不存在的事! 不存在,为什么还要讲、还要学、还要考研? 因为,计算机老师讲这些,可以赢得丰厚的利益! 所以,这些老师,才会毁人不倦坑人不浅!

  • 整数的原码、反码、补码、移码

    做而论道_CS: 在两位十进制数运算中,舍弃进位,就是减去了一百。 所以,加 99,再减 100,当然就是 “-1” 了。 八位二进制数是:0000 0000 ~ 1111 1111。 也就是十进制数:0 ~ 255。 如果有进位,就是:256。 此时,加上 255 (1111 1111),再舍弃进位 256, 这不也就是-1 吗? 所以:+255 (1111 1111),就是-1; 同理:+254 (1111 1110),就是-2;    +253 (1111 1101),就是-3;    。。。    +128 (1000 0000),就是-128。 这些正数,就是计算机专家 “发明” 的【补码】。 另外,加上 127 (0111 1111),是不会出现进位的。 那么,也就不用舍弃进位,也就不用减 256 了。 所以,加上 127,就不会出现 “减法的作用”。 因此,0 ~ 127,这些就是【正数】。 (正数就是正数,不应该称为 “补码”。) ------------------ 老外的算术能力很差,不懂什么是进位,  更弄不懂什么是舍弃进位。 所以,就编造了一套谎言:  机器数真值符号位原码反码补码正数三码相同  负数取反加一符号位不变符号位也参加运算模 我们的老师,数学底子也很差啊!  小学的算术,都看不透,就被老外忽悠瘸了!  天天喋喋不休的:原码反码取反加一。。。  也不知道有多少学生因此而挂科。

  • 整数的原码、反码、补码、移码

    做而论道_CS: 哪有什么原码反码补码呀! 虽然,计算机使用的,是二进制数。 但是,二进制数,也是数,和十进制数,是雷同的。 二进制数,并不是什么原码反码补码。 符号位,也是根本就不存在的。 所谓的“补码”,不过是一道小学算术题而已。 所谓的“补码”,与什么进制,都没有关系。 所谓的“补码”,也不是计算机专家发明的。 另外,在码长八位时,各码的范围如下。 原码:-127 ~ +127; 反码:-127 ~ +127; 补码:-128 ~ +127。 看到了吧? -128 只有补码,没有原码和反码。 没有原码,你拿什么取反? 没有反码,你拿什么加一? 取反加一,不可用! -128 的补码,你是怎么得来的呢? 实际上,取反加一,根本就没有任何理论依据。 只是计算机专家用来唬弄老外的! 你还想跟着老外学算术? 你直接就掉坑里了! ------------------ 你看看十进制数吧,两位的:0~99。 最大值 99,就能当做“负一”来用。 如:27 + 99 = (一百) 26   27 - 1 = 26 只要你忽略进位,仍旧保持两位数,它们就是相等的。 由此可知,舍弃了进位:  正数,就能当做负数来用。  加法,也就能实现减法运算。 在计算机中,舍弃进位,会怎样:  可以省略减法器,简化硬件!  只需配置一个加法器,便可走遍天下。 如果你明白什么是 “舍弃进位”:  你就会懂得 “补码的来源与意义”。 老外,是不懂这些的。  所以,才编造了:符号位原码。。。

  • JVM的垃圾回收Serial、Serial Old、Parallel Scavenge、Parallel Old的介绍和STW(Stop The World)

    lgq2016: jdk1.8默认的-XX:+UseParallelGC应该是: Parallel Scavenge(年轻代)+Serial Old(老年代)

最新文章

  • maven包scope为provided导致SpringBoot项目启动报错java.lang.ClassNotFoundException: javax.servlet.ServletContext
  • 配置多数据源后,MyBatis-Plus的Page类的total值为0问题或分页配置失效问题解决
  • SpringBoot 配置多数据源后事务@Transactional不生效的问题解决
2024年1篇
2023年5篇
2022年58篇
2021年154篇
2020年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家镇江设计玻璃钢雕塑费用万圣节商场美陈图片河南省新郑市玻璃钢花盆定做上海玻璃钢雕塑有哪些多边形玻璃钢花盆商场美陈策划北京艺术雕塑玻璃钢河南秋季商场美陈怎么样商场美陈感应钢琴地板玻璃钢儿童趣味座椅雕塑深圳超市商场美陈批发价乐东商场美陈常用解决方案溧阳玻璃钢座椅雕塑怀仁玻璃钢花盆花器涞水县商场美陈哪里有玻璃钢人物雕塑制作盐城商场大厅美陈杭州大型玻璃钢雕塑联系方式柳州玻璃钢浮雕人物山水雕塑湖北步行街玻璃钢雕塑设计广西玻璃钢小羊动物雕塑山东艺术商场美陈供货商杭州新年商场美陈上海玻璃钢高跟鞋雕塑甘肃玻璃钢卡通雕塑南京商场美陈采购乐山玻璃钢牛雕塑上海商场主题创意商业美陈报价枝江玻璃钢胸像雕塑商场美陈方案dp点香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化