欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程资源 > 编程问答 >内容正文

编程问答

八大基本数据类型对应的八大包装类(含对应面试题解析) -尊龙游戏旗舰厅官网

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

文章目录

    • 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

    总结

    以上是尊龙游戏旗舰厅官网为你收集整理的八大基本数据类型对应的八大包装类(含对应面试题解析)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

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