包装类

作者: 想飞的键盘手 | 来源:发表于2018-12-28 13:55 被阅读0次

为什么会有基本类型的包装类

  • 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用操作

  • 用于基本数据类型与自负串之间的转换

基本数据类型和包装类的对应

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

基本数据类型包装类有八种 有七种都有(除了char的包装类 )parseXXX的方法 可以将这七种的字符串表现形式转换成基本数据类型

将int 转String

  • 用 + 拼接"" 和 int 数 (常用)
  • String.valueof(100);
  • int 转成integer integer.toString
  • Integer.toString(int i)(integer中的静态方法)

String 转int

  • String -> Integer -> int
    第一步用Integer的构造
    第二部Integer.parseInt

(JDK5 的新特性)

自动装箱 : 把基本类型转换为包裹类型

自动拆箱 : 把包裹类型转换为基本类型

// JDK1.5 之前

int x=100;
Integer i1 = new Integer(x);// 将基本数据类型包装成对象,装箱
int y = i1.intValue();// 将对象转换为基本数据类型,拆箱
// JDK1.5 版本之后

Integer i2 = 100;// 自动装箱
int z = i2 +100;// 自动拆箱
// 底层实现如上所述

eg:
Integer i3 = null;
int a = i3+100;// 底层用i3调用intValue 但是i3是null 会报空指针异常

Integer的面试题

代码 结果

因为是两个对象 所以 == 判断不是一个对象 为false

代码 结果

不难看出第一段只创建了一个对象 两个Integer 引用指向的是同一个对象

-128 到 127 是byte的取值范围 如果在这个取值范围内,自动装箱就不会新创建对象,而是从常量池中获取 如果超过了byte取值范围就会在新创建对象

底层实现

Inter 底层源码
IntegerCache实现

assert关键字语法很简单,有两种用法:

如果在low和high之间(-128~127之间) 就从cache数组中取数 否则返回一个新的integer对象

(补充)
assert关键字语法很简单,有两种用法:

1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

相关文章

  • 6.装饰设计模式

    装饰模式 包装类的特点: 1.包装类和被包装类实现同样的接口2.包装类持有一个被包装的对象3.包装类在实现接口过程...

  • JAVA基础---Date类 SimpleDateFormat

    ## 一、包装类 ##01. 包装类概述 >* 什么是包装类? >* 基本数据类型对应的包装类 总结: 1.什么是...

  • 包装类

    包装类也是系统定义好的,可以直接用包装类:专门将简单数据类型的数据进行封装得到相应的类** 简单数据类型 ...

  • 包装类

    拥有属性、方法,可以对象化交互 Java中的包装类包括:Integer、Long、Short、Byte、Chara...

  • 包装类

    基本数据类型的包装类 包装类说明 除了Integer和Character定义的名称和对应的基本类型差异大,其他六种...

  • 包装类

    刚才接触过了Object类,可以发现Object类能够接收所有的引用数据类型(对象、数组、接口),于是这里面又出现...

  • 包装类

  • 包装类

    为什么会有基本类型包装类: 为了对基本数据类型进行更多的操作,更方便的操作,java就针对每一种基本数据类型提供了...

  • 包装类

    基本数据类型对象包装类。为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作。...

  • 包装类

    针对八种基本定义相应的引用类型-包装类(封装类) 针对类的特点,就可以调用类中的方法基本数据类型 包装类 ...

网友评论

      本文标题:包装类

      本文链接:https://www.haomeiwen.com/subject/alpslqtx.html