一、包装类
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类的方法