Java全面细致讲解Wrapper的使用

 更新时间:2022年05月30日 09:26:38   作者:小老师ir  
在封装中有一种特殊的类,能够把基本的数据类型进行转换来方便实际的使用。我们在之前提到的一些数据类型,最明显的特征是所有字母为小写状态,那么经过Wrapper的包装后,首字母就变成了大写。下面我们就这种特殊的封装类Wrapper的使用

一、概述

针对八种基本数据类型定义相应的引用类型—包装类(封装类)。

二、作用

有了类的特点,就可以调用类中的方法,Java才是真正的面向对象。

八种基本数据类型与其包装类的对应关系:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

三、使用

1. 基本数据类型-包装类的实例(装箱)

⭕ 通过包装类的构造器实现:

int i = 500; 
Integer t = new Integer(i);

⭕ 通过字符串参数构造包装类对象:

Float f = new Float(“4.56”);
//Long l = new Long(“asdf”); 报错:NumberFormatException

⭕ 错误举例:

Integer in3 = new Integer("123abc");
System.out.println(in3.toString());
/*  
报错:
Exception in thread "main" java.lang.NumberFormatException: For input string: "123abc"
 */

2. 包装类-基本数据类型(拆箱)

⭕ 调用包装类的xxxValue()方法:

boolean b = bObj.booleanValue();

注意:JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配

3. String-基本数据类型/包装类

⭕ 通过包装类的构造器实现:

    int i = new Integer(“12”);

⭕ 通过包装类的parseXxx(String s)静态方法:

Float f = Float.parseFloat(“12.1”);

⭕ 错误举例:

int num1 = (int)str1;
Integer in1 = (Integer)str1;
//可能会报NumberFormatException

4. 基本数据类型/包装类-String

⭕ 调用字符串重载的valueOf()方法:

   String fstr = String.valueOf(2.34f);

⭕ 更直接的方式:

   String intStr = 5 + "";

5. 转换图

四、经典题目

//(1)
     Object o1 = true ? new Integer(1) : new Double(2.0);
     System.out.println(o1);//1.0
     Object o2;
        if (true)
            o2 = new Integer(1);
        else
            o2 = new Double(2.0);
        System.out.println(o2);//1
    }
//(2)
//java
        Integer i = new Integer(1);
        Integer j = new Integer(1);
        System.out.println(i == j);//false
        Integer m = 1;
        Integer n = 1;
        System.out.println(m == n);//true
        Integer x = 128;
        Integer y = 128;
        System.out.println(x == y);//false

到此这篇关于Java全面细致讲解Wrapper的使用的文章就介绍到这了,更多相关Java Wrapper内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Java飞行记录器JFR功能实现过程图解

    Java飞行记录器JFR功能实现过程图解

    这篇文章主要介绍了Java飞行记录器JFR功能实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • java对接webservice接口的4种方式总结

    java对接webservice接口的4种方式总结

    因工作需要和一个Sap相关系统以WebService的方式进行接口联调,之前仅听过这种技术,但并没有实操过,所以将本次开发进行记录,这篇文章主要给大家介绍了关于java对接webservice接口的4种方式,需要的朋友可以参考下
    2023-10-10
  • MybatisPlus处理四种表与实体的映射及id自增策略分析

    MybatisPlus处理四种表与实体的映射及id自增策略分析

    在最近的工作中,碰到一个比较复杂的返回结果,发现简单映射已经解决不了这个问题了,只好去求助百度,学习mybatis表与实体的映射应该怎么写,将学习笔记结合工作碰到的问题写下本文,供自身查漏补缺,同时已被不时之需
    2022-10-10
  • 秒懂Kotlin之Java工程师快速掌握Kotlin的技巧

    秒懂Kotlin之Java工程师快速掌握Kotlin的技巧

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。这篇文章主要介绍了秒懂Kotlin之Java工程师快速掌握Kotlin的技巧,需要的朋友可以参考下
    2021-09-09
  • java8 Stream大数据量List分批处理切割方式

    java8 Stream大数据量List分批处理切割方式

    这篇文章主要介绍了java8 Stream大数据量List分批处理切割方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java基于Javafaker生成测试数据

    Java基于Javafaker生成测试数据

    这篇文章主要介绍了Java基于Javafaker生成测试数据的方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12
  • 如何使用Reactor完成类似Flink的操作

    如何使用Reactor完成类似Flink的操作

    这篇文章主要介绍了如何使用Reactor完成类似Flink的操作,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • cmd中javac命令无法运行(java指令能运行)解决步骤

    cmd中javac命令无法运行(java指令能运行)解决步骤

    这篇文章主要介绍了在安装JDK后,执行javac命令没有返回值的问题,可能是由于命令提示符窗口缓存问题、系统路径优先级问题、文件权限问题或命令行输入问题,文中通过代码将解决的步骤介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • Java Restful API的拦截详解

    Java Restful API的拦截详解

    这篇文章主要介绍了Java 调用Restful API接口的拦截,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • Spring Boot 结合 aop 实现读写分离

    Spring Boot 结合 aop 实现读写分离

    这篇文章主要介绍了Spring Boot 结合 aop 实现读写分离的示例,帮助大家更好的理解和使用Spring Boot框架,感兴趣的朋友可以了解下
    2020-11-11

最新评论