什么是包装类?

写写我的想法

就是对于对象和基本类型的无法匹配和强转,基本类型在面向对象的实例类型中,反而成了个特殊的数据类型的存在

在一些特定的情况,我们希望通过对象的方式去处理数据,但是基本类型的数据没有像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 包装类的更多相关文章

  1. 菜鸡的Java笔记 第二十五 wrapperClass 包装类

    wrapperClass 包装类         1.包装类的特点        2.装箱与拆箱操作        3.数据转型处理            内容        Object 类可以接收 ...

  2. 浅谈Java的包装类

    一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...

  3. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  4. [java初探09]__关于java的包装类

    前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...

  5. Java学习——包装类

    Java学习——包装类 摘要:本文主要介绍了Java中常用的包装类和基本类型之间的转换,包装类或基本类型和String之间的转换. 部分内容来自以下博客: https://www.cnblogs.co ...

  6. 小白学Java:包装类

    目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装 ...

  7. Java:包装类小记

    Java:包装类 对 Java 中的 包装类 这个概念,做一个微不足道的小小小小记 基本数据&包装类 四类八种基本数据类型: 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 ...

  8. Java api 入门教程 之 JAVA的包装类

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  9. Java 中包装类wrapped type之间以及和primitive type的比较

    注意, 包装类的实例之间比较, 是不能直接用 == 的 public static void main(String[] args) { // TODO Auto-generated method s ...

随机推荐

  1. java web 获取 网页访问次数

    ServletContext context = request.getServletContext(); /** * 从ServletContext中获取计数器对象 */Integer count ...

  2. JWT签发token

    目录 一. 认证的发展历程简介 二. JWT签发Token源码分析 2.1 JWT工作原理及简介 2.2 JWT生成token源码分析 返回目录 一. 认证的发展历程简介 这里真的很简单的提一下认证的 ...

  3. u库前戏

    u库 ORM:对象关系映射 类 >>> 数据库的一张表 对象 >>> 表的一条记录 对象点属性 >>> 记录某一个字段对应的值 ''' 对象就是一 ...

  4. hdu2203kmp匹配

    拼接字符串即可解决移位的问题: 代码如下: #include<bits/stdc++.h> using namespace std; typedef unsigned int ui; ty ...

  5. canvas.toDataURL()报错的解决方案全都在这了

    报错详尽信息 Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases ...

  6. MySQL MyISAM和Innodb表生成序列

    目录 背景 分析 测试 结论 背景 应用端需要生成依次递增的序列来做流水序号等,方案有1.redis /MySQL SEQUENCE引擎生成序列:2.MySQL中myisam表 replace int ...

  7. 倒影box-reflect(可图片可文字)

    需要写兼容写法: -webkit-box-reflect:below 3px -webkit-(repeating)linear/redial-gradient(...): 1.先写direction ...

  8. 主从校验工具pt-table-checksum和pt-table-sync工作原理

    pt-table-checksum和pt-table-sync是常用来做MySQL主从数据一致性校验的工具,pt-table-checksum只校验数据,不能对数据进行同步:pt-table-sync ...

  9. SpringBoot安装与配置

    1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...

  10. webpack配置打包vue文件

    1.首先全局安装node,和npm.检查是否安装成功 2.新建一个文件下,进入该文件夹. 前先执行 npm init -y 然后就会在文件夹下出现一个package.json文件 然后执行 npm i ...