IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java自动装箱与拆箱 -> 正文阅读

[Java知识库]java自动装箱与拆箱

包装类

基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本数据类型的数据

可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们呢可以调用类当中的方法来操作这些基本类型的数据

包装类有8种,包装类位于 java.lang.文件下

基本类型对应的包装类(位于java.lang包中)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

1.装箱与拆箱

1.1装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)

1.1.1构造方法:

  • Integer(int value) 构造一个新分配的Integer对象,他表示指定的int值。
  • Integer(String s) 构造一个新分配的Integer对象,他表示String参数所指示的int值。传递的字符串必须是基本类型的字符串,否则会出现抛出异常 例:“100”正确,“a"抛出异常

1.1.2静态方法:

  •   static Integer valueOf(int i)返回一个表示指定的int值得Integer实例
    
  •   static Integer valueOf(String s)返回保存指定的String的值得Integer对象
    

1.2 拆箱:在包装类中取出基本数据类型的数据(包装类->基本数据类型)

1.2.1成员方法:

  •   int intValue() 以int类型返回该 Integer的值
    
package package17BaoZhuanggLei.Demo01;

/*
* 装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
*   构造方法:
*       Integer(int value) 构造一个新分配的Integer对象,他表示指定的int值。
*       Integer(String s) 构造一个新分配的Integer对象,他表示String参数所指示的int值。
*           传递的字符串必须是基本类型的字符串,否则会出现抛出异常     例:“100”正确,“a"抛出异常
*
*   静态方法:
*       static Integer valueOf(int i)返回一个表示指定的int值得Integer实例
*       static Integer valueOf(String s)返回保存指定的String的值得Integer对象
* 拆箱:在包装类中取出基本数据类型的数据(包装类->基本数据类型)
*   成员方法:
*       int intValue() 以int类型返回该 Integer的值
* */
public class Demo01Integer {
    public static void main(String[] args) {
        //装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
        //构造方法
        Integer in1 = new Integer(1);
        System.out.println(in1);//重写了toString()方法

        Integer in2 = new Integer("2");
        System.out.println(in2);

        //静态方法:
        Integer in3 = Integer.valueOf(1);
        System.out.println(in3);

//        Integer in4 = Integer.valueOf("a");//NumberFormatException数字格式化错误
        Integer in4 = Integer.valueOf("2");
        System.out.println(in4);


        //拆箱:在包装类中取出基本数据类型的数据(包装类->基本数据类型)
        int i = in1.intValue();
        System.out.println(i);
    }
}

2.自动拆箱与装箱

自动拆箱自动装箱:基本类型的数据和包装类之间可以互相转换,jdk1.5之后出现的新特性

package package17BaoZhuanggLei.Demo01;

import java.util.ArrayList;


/*
* 自动拆箱与自动装箱:基本类型的数据和包装类之间可以互相转换
* jdk1.5之后出现的新特性
* */
public class Demo02Integer {
    public static void main(String[] args) {
        /*
        * 自动装箱:直接把int类型的整数赋值给包装类
        * Integer in = 1; 就相当于Integer in = new Integer(1);
        * */
        Integer in = 1;

        /*
        * 自动拆箱:in 是包装类,无法直接参与运算,可以自动转换为基本数据雷兴国,在进行计算
        * in+2;相当于in.intValue()+2
        * in = in.inValue()+2 = 3;又是一个自动装箱
        * */
        in = in+2;

        ArrayList<Integer> list = new ArrayList<>();

        /*
        * ArrayList集合无法直接存储整数,可以存储Integer包装类
        * */
        list.add(1);//-->隐含了一个自动装箱,list.add(new Integer(1));
        Integer a = list.get(0);//-->隐含了一个自动拆箱,list.get(o).intValue();
    }
}

3.基本类型与字符串之间的相互转换

3.1基本类型–>字符串(String)

基本类型的值+"",最简单的方法(工作常用)

包装类的静态方法toString(参数)不是Osbject类的toString() 重载关系

  • static String toString(int i) 返回一个表示指定整数的String对象

String类的静态方法valueOf(参数)

  • static String valueOf(int i) 返回int(与参数的类型有关)参数的字符串表示形式

3.2字符串(String)–>基本类型

使用包装类的静态方法parseXXX(“字符串”)

  •   Integer类: static int parseInt(String s)
    
  •   Double类: static double parseDouble(String s)
    
package package17BaoZhuanggLei.Demo01;


/*
* 基本类型与字符串类型的相互转换
* 基本类型-->字符串(String)
*   1.基本类型的值+"",最简单的方法(工作常用)
*   2.包装类的静态方法toString(参数)不是Object类的toString()      重载关系
*       static String toString(int i) 返回一个表示指定整数的String对象
*   3.String类的静态方法valueOf(参数)
*       static String valueOf(int i) 返回int(与参数的类型有关)参数的字符串表示形式
* 字符串(String)-->基本类型
*   使用包装类的静态方法parseXXX("字符串")
*       Integer类: static int parseInt(String s)
*       Double类: static double parseDouble(String s)
* */
public class Demo03Integer {
    public static void main(String[] args) {
        //基本类型-->字符串(String)
        int i1 = 100;
        String s1 = i1 + "";
        System.out.println(s1 + 200);//100200:字符串拼接

        String s2 = Integer.toString(100);
        System.out.println(s2+200);

        String s3 = String.valueOf(100);
        System.out.println(s3);

        //字符串(String)-->基本类型
        int i = Integer.parseInt(s1);
        System.out.println(i-10);

        /*int a = Integer.parseInt("a");//NumberFormatException数据格式转换错误
        System.out.println(a);*/
    }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:29:52  更:2022-04-07 22:34:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:44:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码