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

一、包装类

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类的方法

猜你喜欢

转载自blog.csdn.net/weixin_67224308/article/details/128042113