Java基础之包装类

包装类

包装类概念

  • 包装类

基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中方法来操作这些基本类型的数据


  • Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
基本类型对应的包装类(位于java.lang包中)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

装箱与拆箱

  • 装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
  • 构造方法:
    • Integer(int value)构造一个新分配的 Integer 对象,它表示指定的 int 值。
    • Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
    • 传递的字符串,必须是基本类型的字符串,否则会抛出异常 "100" 正确 "a" 抛异常
  • 静态方法:
    • static Integer valueOf(int i)返回一个表示指定的 int 值的 Integer 实例。
    • static Integer valueOf(String s) 返回保存指定的 String 的值的 Integer对象。
  • 拆箱:
    • 在包装类中取出基本类型的数据(包装类->基本类型的数据)
  • 成员方法:
  • int intValue()int 类型返回该 Integer 的值。

演示

package com.idayuanshuai.www.Demo6;

public class IntegerClassDemo1 {
    public static void main(String[] args) {
        demo1();
    }
    public static void demo1(){
        // 基本类型转化为包装类
        Integer integer = Integer.valueOf("100");
        System.out.println(integer);
        Integer integer1 = Integer.valueOf(20);
        System.out.println(integer1);
        // 报装类变为基本类型
        int i = integer1.intValue();
        System.out.println(i);
    }
}
  • 输出结果
100
20
20

自动拆箱与自动装箱

  • 基本类型与包装类之间可以自动相互转换

  • jdk1.5之后出现的新特性


演示

  • 主类
package com.idayuanshuai.www.Demo6;

import java.util.ArrayList;
import java.util.Date;

public class IntegerClassDemo2 {
    public static void main(String[] args) {
        Demo();
    }
    public static void Demo(){
        // 基本类型自动转化为 包装类
        Integer in = 3;
        System.out.println(in);
        // in先拆箱为基本类型 int 与 4 相加得7 然后再装箱为integer
        in = in + 4;
        System.out.println(in);
        ArrayList<Integer> list = new ArrayList<>();
        // 将基本类型23转化为integer类型装入list里面
        list.add(23);
        System.out.println(list.get(0));
    }
}
  • 输出结果
3
7
23

基本类型与字符串类型之间转换

  • 基本类型与字符串类型之间的相互转换
  • 基本类型->字符串(String)
    • 基本类型的值+"" 最简单的方法(工作中常用)
    • 包装类的静态方法toString(参数),不是Object类的toString(),是重载方法
      • static String toString(int i) 返回一个表示指定整数的 String 对象。
    • String类的静态方法valueOf(参数)
      • static String valueOf(int i)返回 int 参数的字符串表示形式。
  • 字符串(String)->基本类型
    • 使用包装类的静态方法parseXXX("字符串");
    • Integer类: static int parseInt(String s)
    • Double类: static double parseDouble(String s)

演示

  • 主类
package com.idayuanshuai.www.Demo6;

public class IntegerClassDemo3 {
    public static void main(String[] args) {
        demo();
    }
    public static void demo(){
        // 数字类型转化为字符串
        int n =40;
        String s1 = n + "";
        // 验证是否为字符类型
        System.out.println(s1+1234);
        String s = Integer.toString(100);
        // 验证是否为字符类型
        System.out.println(s+23);
        String s2 = String.valueOf(100);
        // 验证是否为字符类型
        System.out.println(s2+34);
        // 字符串类型转化为数字类型
        int i = Integer.parseInt(s1);
        System.out.println(i +10);
        double aDouble = Double.parseDouble(s2);
        System.out.println(aDouble+100);
    }
}
  • 输出结果
401234
10023
10034
50
200.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值