Java包装类、装箱和拆箱、基本数据类型和字符串的转换

本文详细介绍了Java中的包装类,包括其特点、Integer类的构造方法和静态方法,展示了装箱与拆箱的概念,并阐述了从Java5开始的自动装箱和拆箱特性。重点讲解了基本数据类型与String之间的转换,以及Character类的操作。
摘要由CSDN通过智能技术生成

一、包装类

1.1、概述

Java 提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:

2.包装类的特点:

(1)所有包装类都是final类型,因此不能创建他们的子类。
(2)包装类是不可变类,一个包装类的对象自创建后,他所包含的基本类型数据就不能被改变。


     //1.基本数据类型和包装类型       
        int a1 = 5;
        Integer a2 = new Integer("123");
        System.out.println(a1);
        System.out.println(a2);

1.2 Integer类 

  • Integer类概述

    包装一个对象中的原始类型 int 的值

  • Integer类构造方法及静态方法

 

//public Integer(int value):根据 int 值创建 Integer 对象(过时)
Integer i1 = new Integer(100);
System.out.println(i1);

//public Integer(String s):根据 String 值创建 Integer 对象(过时)
Integer i2 = new Integer("100");
//Integer i2 = new Integer("abc"); //NumberFormatException
System.out.println(i2);
System.out.println("--------");

//public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
Integer i3 = Integer.valueOf(100);
System.out.println(i3);

//public static Integer valueOf(String s):返回保存指定String值的Integer对象 
Integer i4 = Integer.valueOf("100");
System.out.println(i4);
/*
            public static string tobinarystring(int i) 得到二进制
            public static string tooctalstring(int i) 得到八进制
            public static string toHexstring(int i) 得到十六进制
            public static int parseInt(string s) 将字符串类型的整数转成int类型的整数
 */

//1.把整数转成二进制,十六进制
String str1 = Integer.toBinaryString(100);
System.out.println(str1);//1100100

//2.把整数转成八进制
String str2 = Integer.toOctalString(100);
System.out.println(str2);//144

//3.把整数转成十六进制
String str3 = Integer.toHexString(100);
System.out.println(str3);//64

//4.将字符串类型的整数转成int类型的整数
//强类型语言:每种数据在java中都有各自的数据类型
//在计算的时候,如果不是同一种数据类型,是无法直接计算的。
int i = Integer.parseInt("123");
System.out.println(i);
System.out.println(i + 1);//124
//细节1:
//在类型转换的时候,括号中的参数只能是数字不能是其他,否则代码会报错
//细节2:
//8种包装类当中,除了Character都有对应的parseXxx的方法,进行类型转换
String str = "true";
boolean b = Boolean.parseBoolean(str);
System.out.println(b);

 1.3 装箱、拆箱

基本类型与对应的包装类对象之间,来回转换的过程称为"装箱"与"拆箱":

装箱:把基本数据类型转换为对应的包装类对象。
拆箱:把包装类转换为对应的基本数据类型。

 

用Integer与 int为例:

基本数据类型---->包装对象

   //装箱
        Integer a3 = new Integer(8);//使用构造函数函数
        Integer a4 = Integer.valueOf(8);//使用包装类中的valueOf方法

 包装对象---->基本数据类型

  //拆箱
        int a5 = a3.intValue();

1.4 自动装箱、自动拆箱

由于我们经常要做基本类型与包装类之间的转换,从Java 5(JDK 1.5)开始,基本类型与包装类的装箱、拆箱动作可以自动完成。  


        //自动装箱
        Integer a6 = a1;
        //自动拆箱
        int a7 = a3;

1.5 基本数据类型和字符串的转换

基本类型转换为String

基本类型转换为字符串 基本类型转换为字符串的方法有三种方法:

①使用包装类中的toString()方法

②使用String类的valueOf()方法

③加入空字符

    public static void main(String[] args) {
        //int --- String
        int number = 100;
        //方式3
        String s1 = number + "";
        System.out.println(s1);
        //方式2
        //public static String valueOf(int i)
        String s2 = String.valueOf(number);
        System.out.println(s2);
        System.out.println("--------");
    }

String转换成对应的基本类型

①使用包装类中的parseXXX()方法

除了Character 类之外,其他所有包装类都具有 parseXxx静态方法可以将字符串参数转换为对应的基本类型:

 ②使用包装类中的valueOf()方法

int j = Integer.parseInt(i);//使用包装类中的parseXXX()方法

int j = Integer.valueOf(i);//使用包装类中的valueOf()方法

 注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出lawanang.NumberFormatException.异常。

进制的转换 

 Character类

1.Character类概述:

Character类在对象中包装了一个char的值,用于对单个字符进行操作。
该类提供了几种方法来操纵字符,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写等。

2.Character类的构造方法:

public Character(char value):将char类型转换为Character类。

3.Character类的方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃汉堡的代码人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值