八大基本数据类型对应的八大包装类(含对应面试题解析) -凯发k8官方网
凯发k8官方网
收集整理的这篇文章主要介绍了
八大基本数据类型对应的八大包装类(含对应面试题解析)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 1.为什么我们需要包装类?
- 2. 包装类都有哪些呢?
- 3.装箱与拆箱
- 4. 基本类型、包装类与string之间的转换
- 5.代码测试
- 6.面试题
本文已同步到: https://www.bithachi.cn/posts/a852be86.html
1.为什么我们需要包装类?
因为java是面向对象编程的,那么我们想让基本数据类型可以有对象的特征,调用一些方法,那么java就提供了包装类,实现基本数据类型转换成包装类,进而使得基本数据类型有了类的特点,可以调用类中的方法。
2. 包装类都有哪些呢?
话不多说,直接上图
3.装箱与拆箱
在我们正式使用包装类之前,我们先了解一下什么是装箱与拆箱。
4. 基本类型、包装类与string之间的转换
现在我们先看看基本类型、包装类与string之间的转换,然后依次代码测试这些转换
5.代码测试
我们以上图的序号依次测试这些转换方式,1->2->3->4->5->6
/*** @program: javase* @classname: testmain* @author: mr.bithachi* @createtime: 2020-07-31 20:12* @version: v1.0* @description: 测试基本数据类型、包装类与string之间的转换**/public class testmain {public static void main(string[] args) {/************ 1:基本数据类型->包装类 ************/system.out.println("------- 1 -------");int i1=100;integer t1=new integer(i1);//通过构造器float f1=new float("32.1f");//通过字符串参数character ch1='a';//自动装箱system.out.println(t1","f1",ch1");/************ 2.包装类->基本数据类型 ************/system.out.println("------- 2 ------");int i2=t1.intvalue();//调用包装类的方法char ch2=ch1;//自动拆箱system.out.println(i2","ch2);/************ 3.string类->基本数据类型 ************/system.out.println("------- 3 ----------");string s3="123";int i3=integer.parseint(s3);//调用相应的包装类的parsexxx(string)静态方法boolean b3=new boolean("true");//通过包装类的构造器system.out.println(i3","b3);/************ 4. 基本数据类型->string类 ************/system.out.println("------- 4 ----------");string s4=string.valueof(3.4f);//string的valueof(x);string d4=5.2d3.4d"";//string 自动转换system.out.println(s4","d4);/************ 5.string类->包装类 ************/system.out.println("------- 5 ----------");string s5="142.35d";double d5=new double (s5);//通过字符串参数system.out.println(s5);/************ 6.包装类->string类 ************/system.out.println("------- 6 ----------");float f6=123.456f;string s6=f6.tostring();//对应包装类对象的tostring()方法string sf=float.tostring(f6);//调用对应包装类的tostring(x)方法system.out.println(s6","sf);} }运行结果:
------- 1 ------- 100,32.1,ch1 ------- 2 ------ 100,a ------- 3 ---------- 123,true ------- 4 ---------- 3.4,8.6 ------- 5 ---------- 142.35d ------- 6 ---------- 123.456,123.4566.面试题
public class facetest {public static void main(string[] args) {/************ 1 ************///比较情况下,编译时将integer统一编译成double,与位数多的单位保持一致object o1 = true ? new integer(1) : new double(2.0);system.out.println(o1);//1.0/************ 2 ************///这里没有比较,只有条件判断object o2;if (true)o2 = new integer(1);elseo2 = new double(2.0);system.out.println(o2);//1/************ 3 ************///integer内部定义了integercache类结构,integercache中定义了 integer[],//保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给integer赋值的范围在//- 128~127范围内时,可以直接使用数组中的元素,不用再去new了.目的:提高效率integer i = new integer(1);integer j = new integer(1);system.out.println(i == j);//falseinteger m = 1;integer n = 1;system.out.println(m == n);//trueinteger x = 128;integer y = 128;system.out.println(x == y);//false} }运行结果:
1.0 1 false true false总结
以上是凯发k8官方网为你收集整理的八大基本数据类型对应的八大包装类(含对应面试题解析)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: