当前位置: 首页 > java >正文

Java—— 包装类

说明:

包装类:基本数据类型对应的引用类型(对象)

 作用:

集合不能存储基本数据类型,要将基本数据类型转化为包装类进行存储

一个方法的形参是Object类型,传递的参数只能是对象,需要将基本数据类型转化为包装类

对应关系:

byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean

获取Integer对象的方式(了解)

构造方法:

方法名说明
public Integer(int value)

根据传递的整数创建一个Integer对象

public Integer(String s)

根据传递的字符串创建一个Integer对象

静态方法: 

方法名说明
public static Integer value0f(int i)

根据传递的整数

创建一个Integer对象

public static Integer valueOf(String s)

根据传递的字符串

创建一个Integer对象

public static Integer valueOf(String s, int radix)

根据传递的字符串和进制

创建一个Integer对象

代码演示:

public class Test1 {public static void main(String[] args) {Integer i1 = new Integer(10);System.out.println(i1);//10Integer i2 = new Integer("10");System.out.println(i2);//10Integer i3 = Integer.valueOf(15);System.out.println(i3);//15Integer i4 = Integer.valueOf("15");System.out.println(i4);//15Integer i5 = Integer.valueOf("100", 8);System.out.println(i5);//64}
}

这两种方式获取对象的区别(掌握)

静态方法获取对象底层有优化:

在实际开发中,-128~127之间的数据用的比较多
所以,将提前创建好这个范围内的每一个数据的对象
如果要用到了直接返回已经创建好的对象,不会创建新的

自动装箱和自动拆箱

在JDK5的时候提出了自动装箱和自动拆箱机制

自动装箱:基本数据类型会自动的变成其对应的包装类
自动拆箱:包装类自动的变成其对象的基本数据类型

代码演示:

public class Test2 {public static void main(String[] args) {//自动装箱//在底层,此时还会去自动调用静态方法valueof得到一个Integer对象,//只不过这个动作不需要我们自己去操作了Integer i1 = 10;//自动拆箱Integer i2 = Integer.valueOf("20");int i = i2;System.out.println(i);//20//在JDK5以后,int和Integer可以看做是同一个东西,因为在内部可以自动转化}
}

Integer成员方法

方法名说明
public static String toBinaryString(int i)得到二进制
public static String toOctalString(int i)得到八进制
public static String toHexString(int i)得到十六进制
public static int parselnt(String s)

将字符串类型的整数转成

int类型的整数 

代码演示:

public class Test3 {public static void main(String[] args) {String str1 = Integer.toBinaryString(100);System.out.println(str1);//1100100String str2 = Integer.toOctalString(100);System.out.println(str2);//144String str3 = Integer.toHexString(100);System.out.println(str3);//64int i = Integer.parseInt("1234");System.out.println(i);//1234System.out.println(i + 1);//1235}
}

注意事项:

1:在类型转换的时候,括号中的参数只能是数字不能是其他,否则代码会报错
2:8种包装类当中,除了Character都有对应的parseXXX的方法,进行类型转换

例如可用Boolean.parseBoolean("true")将字符串true转化为布尔类型

http://www.xdnf.cn/news/2150.html

相关文章:

  • Arduino+ESP01S烧录
  • AudioVideoMerger 下载与使用
  • 计算机网络 | 应用层(1)--应用层协议原理
  • Git 工具的安装
  • django之优化分页功能(利用参数共存及封装来实现)
  • 一篇入门之-评分卡变量分箱(卡方分箱、决策树分箱、KS分箱等)实操例子
  • 软件开发架构设计原则详解(含案例)
  • 精益数据分析(28/126):解读商业模式拼图与关键指标
  • KTT入门
  • 现代化Android开发:Compose提示信息的最佳封装方案
  • qt事件过滤与传递机制
  • 关于图论的知识
  • 2025.4.26总结
  • GitOps进化:深入探讨 Argo CD 及其对持续部署的影响
  • 图像特征检测算法对比及说明
  • FPGA前瞻篇-数字电路基础-逻辑门电路设计
  • ssm乡村合作社商贸网站设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 【C】初阶数据结构13 -- 快速排序
  • Pygame物理模拟:实现重力、弹跳与简单物理引擎
  • DAM-3B,英伟达推出的多模态大语言模型
  • IntelliJ IDEA 2025.2 和 JetBrains Rider 2025.1 恢复git commit为模态窗口
  • 23种设计模式-行为型模式之迭代器模式(Java版本)
  • 测试基础笔记第十三天
  • 工业摄像头通过USB接口实现图像
  • STL中emplace实现原理是什么?
  • 240426 leetcode exercises
  • springboot入门-controller层
  • IT社团分析预测项目(pandas、numpy、sklearn)
  • PMP-第一章 引论
  • 基于Docker、Kubernetes和Jenkins的百节点部署架构图及信息流描述