java八大包装类

目录

java八大包装类

包装类的基本概念

包装类的分类

Object

Number

包装类和基本数据类型的转换

案例:jdk5之前,需要手动装箱和拆箱

案例:jdk5之后,就可以自动装箱和拆箱

包装类测试题

为什么设置方法的返回值类型以及形参类型时经常使用的是Integer而不是int?


java八大包装类

包装类的基本概念

  • 基本数据类

    • Java中的基本数据类型不是面向对象的,它们只是纯粹的数据,除了数值本身的信息之外,基本类型数据不带有其他信息或者可操作方法。

  • 包装类

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

包装类的分类

  • 针对八大基本数据类型定义相应的引用类型---包装类

  • 有了类的特点,就可以调用类的方法。

基本数据类型包装类包装类的直接父类
booleanBoolean

Object

charCharacter
byteByte

Number

shortShort
intInteger
longLong
floatFloat
doubleDouble

包装类和基本数据类型的转换

  • 装箱:基本类型 -> 包装类型;拆箱:包装类型 -> 基本类型

  • jdk5之前,需要手动装箱和拆箱

  • jdk5以后(含jdk5)是自动装箱和拆箱

  • 自动装箱底层调用的是valueOf方法,比如Integer.valueOf()

  • 自动拆箱底层调用的是intValue方法,比如Integer.intValue()

案例:jdk5之前,需要手动装箱和拆箱

public class Integer01 {public static void main(String[] args) {int n1 = 100;//两种手动装箱方式,int->IntegerInteger integer = new Integer(n1);Integer integer1 = Integer.valueOf(n1);//手动拆箱,Integer->intint i = integer.intValue();}
}

案例:jdk5之后,就可以自动装箱和拆箱

public class Integer01 {public static void main(String[] args) {int n2 = 101;//自动装箱,int->IntegerInteger integer2 = n2;//自动拆箱,Integer->intint n3 = integer2;}
}

包装类测试题

1.下面的代码是否正确,为什么?

Double d = 100d; //正确,自动装箱 Double.value(100d);

Float f = 1.5f; //正确,自动装箱 Double.value(1.5f);

2.如下代码的输出结果?

  • 三元运算符是一个整体,精度最高的是Double,所以是1.0

public class Integer01 {public static void main(String[] args) {Object obj = true?new Integer(1):new Double(2.0);System.out.println(obj);}
}

 3.如下代码的输出结果?

  • 两条语句是分别计算的,是独立的,所以是1

public class Integer01 {public static void main(String[] args) {Object obj2; //局部变量必须初始化后才能被使用if (true) {//相当于对obj2变量初始化,否则不能输出obj2obj2 = new Integer(1); }else {obj2 = new Double(2.0);}System.out.println(obj2);}
}

常用的方法

  • Integer.parseInt(String s):将 String 类型转换成 int 类型
  • Boolean.parseBoolean(String s):将 String 类型转换成 Boolean 类型
  • Byte.parseByte(String s):将 String 类型转换成 Byte 类型
  • Short.parseShort(String s):将 String 类型转换成 Short 类型
  • Long.parseLong(String s):将 String 类型转换成 Long 类型
  • Float.parseFloat(String s):将 String 类型转换成 Float 类型
  • Double.parseDouble(String s):将 String 类型转换成 Double 类型

为什么设置方法的返回值类型以及形参类型时经常使用的是Integer而不是int?

  • 原因:当我们使用 Integer 去接收数据时是可以接收到 null 值的,这样就可以避免出现空指针异常。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部