欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程资源 > 编程问答 >内容正文

编程问答

八大基本数据类型对应的八大包装类(含对应面试题解析) -凯发k8官方网

发布时间:2024/10/14 编程问答 7 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 八大基本数据类型对应的八大包装类(含对应面试题解析) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 1.为什么我们需要包装类?
    • 2. 包装类都有哪些呢?
    • 3.装箱与拆箱
    • 4. 基本类型、包装类与string之间的转换
    • 5.代码测试
    • 6.面试题

本文已同步到: https://www.bithachi.cn/posts/a852be86.html

1.为什么我们需要包装类?

因为java是面向对象编程的,那么我们想让基本数据类型可以有对象的特征,调用一些方法,那么java就提供了包装类,实现基本数据类型转换成包装类,进而使得基本数据类型有了类的特点,可以调用类中的方法。

2. 包装类都有哪些呢?

话不多说,直接上图

3.装箱与拆箱

在我们正式使用包装类之前,我们先了解一下什么是装箱与拆箱。

  • 装箱:将基本数据类型包装成对应的包装类,比如 int->integer
  • 拆箱:将包装类拆解成对应的基本数据类型,比如 character->char
  • 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.456

    6.面试题

    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官方网为你收集整理的八大基本数据类型对应的八大包装类(含对应面试题解析)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图