【Java】WrapperClass 包装类
什么是包装类?
写写我的想法
就是对于对象和基本类型的无法匹配和强转,基本类型在面向对象的实例类型中,反而成了个特殊的数据类型的存在
在一些特定的情况,我们希望通过对象的方式去处理数据,但是基本类型的数据没有像Object的方法可以使用
所以设计者对所有的基本数据类型进行了封装处理,可以说包装类也称为封装类
父类Number
基本类型 对应的封装类
boolean Boolean
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
有了类的特点,就可以像对象一样操作了
基本类型 -> 引用类型
@Test
public void test1(){
// 基本数据类型 转换 包装类 int i = 20;
Integer integer = new Integer(i); // 默认自动装箱 自动封装 // 或者直接入参
Integer integer1 = new Integer(100); // 支持了字符串入参 如果格式不符合,抛出 NumberFormatException 数值格式异常
Integer integer2 = new Integer("23134");
}
引用类型 -> 基本类型
@Test
public void test1(){
// 包装类 转换 基本数据类型 Integer integer = new Integer(100); // intValue(); 转换返回基本类型值
int value = integer.intValue(); // 已经自动拆箱处理了
}
现在已经是自动装箱拆箱了
@Test
public void test1(){
Integer integer = 100; // 自动装
int value = integer ; // 自动拆
}
对String的处理
@Test
public void test1(){
int i = 100;
String str = i + ""; // 直接拼接即可
String str2 = String.valueOf(10.03); // String.valueOf()方法 int anInt = Integer.parseInt(str); // 拆箱
double v = Double.parseDouble(str2); // 拆箱
}
关于包装类在三元运算会提升数据类型
@Test
public void test1(){
Object object = true ? new Integer(10) : new Double(20);
System.out.println(object); // 10.0 Object o2;
if (true) o2 = new Integer(1);
else o2 = new Double(2);
System.out.println(o2); //
}
比较判断
@Test
public void test1(){
Integer i = new Integer(10);
Integer j = new Integer(10);
System.out.println(i == j); // false Integer a = 100;
Integer b = 100;
System.out.println(a == b); // true Integer c = 128;
Integer d = 128;
System.out.println(c == d); // false
}
为什么128 就False
- Integer内部定义了一个IntegerCache结构,IntegerCache定义了Integer[]数组,称为预加载池
保存了-128 到 127的字面值 可以直接使用,如果调用超出池范围的字面值,就需要扩容了,所以大于127的都是new的,地址自然不一样

【Java】WrapperClass 包装类的更多相关文章
- 菜鸡的Java笔记 第二十五 wrapperClass 包装类
wrapperClass 包装类 1.包装类的特点 2.装箱与拆箱操作 3.数据转型处理 内容 Object 类可以接收 ...
- 浅谈Java的包装类
一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...
- Java开发知识之Java的包装类
Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...
- [java初探09]__关于java的包装类
前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...
- Java学习——包装类
Java学习——包装类 摘要:本文主要介绍了Java中常用的包装类和基本类型之间的转换,包装类或基本类型和String之间的转换. 部分内容来自以下博客: https://www.cnblogs.co ...
- 小白学Java:包装类
目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装 ...
- Java:包装类小记
Java:包装类 对 Java 中的 包装类 这个概念,做一个微不足道的小小小小记 基本数据&包装类 四类八种基本数据类型: 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 ...
- Java api 入门教程 之 JAVA的包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
- Java 中包装类wrapped type之间以及和primitive type的比较
注意, 包装类的实例之间比较, 是不能直接用 == 的 public static void main(String[] args) { // TODO Auto-generated method s ...
随机推荐
- Mysql - 删除表时出现: Cannot delete or update a parent row: a foreign key constraint fails
现象 MySQL在删除一张表时出现 ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint ...
- Requests库发送post请求,传入接口参数后报JSON parse error
报错信息: {"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"e ...
- Linux你不知道的ping操作
1.指定ping的次数 -c 选项 ping -c 3 www.baidu.com 2.只返回结果 -q 选项 ping -q -c 3 www.baidu.com 3.指定数据包的大小 -s ...
- VMware安装Ubutun之SSH为何安装不上之谜
一把心酸泪,鼻涕泪两行.谁人解我苦中苦,原是SSH安装不上去. 多方找寻,想要寻求解答. 首先我想到一个办法,找到进程,并且狠狠的用RM把它移除掉. NO,这个方法最后竟然不行,文件删了,锁还是获取不 ...
- NDCG的理解
2019-05-29 14:15:44
- Building Applications with Force.com and VisualForce(Dev401)( 八):Designing Applications for Multiple Users: Controling Access to Records.
Module Objectives1.List feature that affect access to data at the record level.2.List the organizati ...
- OpenCV-Python 理解SVM | 五十五
目标 在这一章中 我们将对SVM有一个直观的了解 理论 线性可分数据 考虑下面的图像,它具有两种数据类型,红色和蓝色.在kNN中,对于测试数据,我们用来测量其与所有训练样本的距离,并以最小的距离作为样 ...
- PHP7内核(六):变量之zval
记得网上流传甚广的段子"PHP是世界上最好的语言",暂且不去讨论是否言过其实,但至少PHP确实有独特优势的,比如它的弱类型,即只需要$符号即可声明变量,使得PHP入手门槛极低,成为 ...
- Servlet读取前端的request payload
这几天遇见了一个很头疼的事,当我想用表单上传文件时,后端servlet读取不到文件的信息 网上搜索,说是要将form添加这个属性enctype="multipart/form-data&qu ...
- [noip模拟]计蒜姬<BFS>
Description 兔纸们有一个计蒜姬,奇怪的是,这个计蒜姬只有一个寄存器X.兔纸们每次可以把寄存器中的数字取出,进行如下四种运算的一种后,将结果放回寄存器中.1.X=X+X2.X=X-X3.X= ...