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的微信开发中使用XML格式和JSON格式数据的示例

    Java的微信开发中使用XML格式和JSON格式数据的示例

    这篇文章主要介绍了Java微信开发中使用XML格式和JSON格式数据的示例,注意一下json-lib所需要的jar包,需要的朋友可以参考下
    2016-02-02
  • 解决springboot项目找不到resources目录下的资源问题

    解决springboot项目找不到resources目录下的资源问题

    这篇文章主要介绍了解决springboot项目找不到resources目录下的资源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 一文带你掌握Java Future模式的灵活应用

    一文带你掌握Java Future模式的灵活应用

    Future模式,简单来说,就是一种能够管理异步操作的方式,它可以让咱们的程序在执行一个耗时任务的同时,还能继续做其他事情,下面我们就来看看Future模式的具体应用吧
    2024-01-01
  • java如何用正则表达式匹配与提取字符串

    java如何用正则表达式匹配与提取字符串

    一位以前的同事在群里面突然发了个需求,要通过正则表达式来取值,下面这篇文章主要给大家介绍了关于java如何用正则表达式匹配与提取字符串的相关资料,需要的朋友可以参考下
    2022-06-06
  • Java利用TCP实现服务端向客户端消息群发的示例代码

    Java利用TCP实现服务端向客户端消息群发的示例代码

    这篇文章主要为大家详细介绍了Java如何利用TCP协议实现服务端向客户端消息群发功能,文中的示例代码讲解详细,需要的可以参考下,希望对你有所帮助
    2022-08-08
  • Gradle快速安装及入门

    Gradle快速安装及入门

    今天小编就为大家分享一篇关于Gradle快速安装及入门,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • intellij idea创建第一个动态web项目的步骤方法

    intellij idea创建第一个动态web项目的步骤方法

    这篇文章主要介绍了intellij idea创建第一个动态web项目的步骤方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • mybatis中使用大于小于等于的正确方法

    mybatis中使用大于小于等于的正确方法

    在mybatis中sql是写在xml映射文件中的,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,下面我们就一起来看一下大于小于等于是怎么转义的
    2021-04-04
  • Java中MessageDigest来实现数据加密的方法

    Java中MessageDigest来实现数据加密的方法

    这篇文章主要介绍了Java中MessageDigest来实现数据加密的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • ​​​​​​​Java公平锁和非公平锁的区别

    ​​​​​​​Java公平锁和非公平锁的区别

    本文介绍​​​​​​​Java公平锁和非公平锁区别,公平锁是每个线程获取锁顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁;而非公平锁是每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则,所有线程会竞争获取锁,下文内容需要的朋友可以参考下
    2022-05-05

最新评论