本文主要是介绍常用类2(包装类)-第一阶段-第十二天-2021-07-28,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
包装类型
出现的理由:
java是一个纯面向对象的语言,但是在java中存在基本数据类型(四类八种),它其实是没有直接或者间接的继承Object类的,因此没有类的一些功能,所以如果出现以下方法:public Static void Test(Object obj){System.out.println("传入了" + obj.toString()) }
那么将不能传入基本数据类型
包装类型分为八种:Byte、Short、Integer、Long、Float、Double、Character、Boolean
1. 包装类型的特征
- 包装类型的数值用private final修饰,表示值已经不可被改变(private是只允许内部访问,final是让其值不可变)
- 包装类都被final修饰,表示不可被继承
2. 包装类的创建语法(封箱)
//通过new的方式创建对象
Integer in1 = new Integer("10");
//通过静态方法valueOf来创建对象
Integer in2 = Integer.valueOf("10");
这两种方式都是类的引用地址指向某个对象,但是他们之间有区别
Integer in1 = new Integer("10");
Integer in2 = new Integer("10");
System.out.println(in1 == in2)//false 比较的是地址值
Integer in3 = Integer.valueOf("20");
Integer in4 = Integer.valueOf("20");
Integer in5 = Integer.valueOf("128");
System.out.println(in3 == in4);//true
System.out.pirntln(in4 == in5);//false
通过上面的例子可以发现在[-128,127]之间通过静态方法valueOf()来创建对象,只要值一样会有相同的引用地址。
3.将引用类型的包装类转为基本数据类型(拆箱)
Integer in1 = new Integer("10");
int i = in1.intValue();
4.自动封箱拆箱
在jdk1.5之后提供了自动封箱和装箱的操作
//自动封箱
Integer in1 = 111;
//自动拆箱
int i = in1;
5. 基本数据类型与String类型的相互转换
5.1 String类型转化为基本数据类型
包装类的构造方法提供了String形参的方式,变相的进行类型的转换
String a = "1234";
Integer in = Integer.valueOf(a);
int i1 = in.intvalue();//手动拆箱
System.out.println(++i1);//1235
int i2 = Integer.valueOf(a);//自动拆箱
System.out.println(++i2);//1235int i3 = Integer.parseInt(a)
5.2 基本数据类型转化为String类型
int a = 123;
//通过“+”操作来实现对基本数据类型的转换
String str1 = a + "";
//通过toString方法实现对基本数据类型的转换
String str2 = Integer.toString(a);
//通过String的静态方法valueOf实现类型的转换
String str3 = String.valueOf(a);
这篇关于常用类2(包装类)-第一阶段-第十二天-2021-07-28的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!