Java 包装类

  1. 包装类就是把基本类型的数据包装成对象。

|---------|-----------------------------|
| 基本类型 | 包装类(引用类型,包装类都位于java.Lang包下) |
| byte | Byte |
| short | Short |
| int | Integer 【特殊】 |
| long | Long |
| float | Float |
| double | Double |
| char | Character 【特殊】 |
| boolean | Boolean |

  1. 基本类型的数据包装成对象方法(以int为例) 其他的同理(valueOf 方法 )

public static Integer valueOf(int i)

java 复制代码
public static void main(String[] args) {
        //Integer
        Integer i =  Integer.valueOf(5);
        System.out.println(i);

        //自动装箱 可以自动把基本数据类型的数据转换成包装类对象
        Integer i2 = 5;
        System.out.println(i2);

        //自动拆箱 可以自动把包装类对象基本数据类型
        int i3 = i2;

        //泛型和集合不支持基本数据类型 只能支持引用数据类型(包装类对象)
        ArrayList<Integer> list = new ArrayList<>();
        list.add(7);
        list.add(8);
        list.add(9);

        int i4 = list.get(0);//自动拆箱

}
  1. 包装类的常见方法

(1) 可以把基本数据类型的数据转换成字符串类型

public static String toString(double d)

public String toString()

(2) 可以把字符串类型的数值转换成数值本身的数据类型

public static int parseInt(String s)

public static Integer valueOf(String s)

java 复制代码
public static void main(String[] args) {

        // 1. 可以把基本数据类型的数据转换成字符串类型
        Integer a = 15;
        String s1 = Integer.toString(a);
        System.out.println(s1 + 1);//151

        String s2 = a.toString();
        System.out.println(s2 + 1);//151

        //常用
        String s3 = a + "";
        System.out.println(s3 + 1);//151

        //2. 可以把字符串类型的数值转换成数值本身的数据类型
        String s4 = "18";
        //int i5 = Integer.parseInt(s4) + 1;
        int i5 = Integer.valueOf(s4) + 1;//建议使用
        System.out.println(i5);//19

        String s5 = "18.8";
        //double d = Double.parseDouble(s5);
        double d = Double.valueOf(s5);//建议使用
        System.out.println(d+1.0);//19.8


}
相关推荐
SimonKing3 分钟前
Mybatis-Plus的竞争对手来了,试试 MyBatis-Flex
java·后端·程序员
光军oi9 分钟前
JAVA全栈JVM篇————初识JVM
java·开发语言·jvm
我命由我1234514 分钟前
PDFBox - PDFBox 加载 PDF 异常清单(数据为 null、数据为空、数据异常、文件为 null、文件不存在、文件异常)
java·服务器·后端·java-ee·pdf·intellij-idea·intellij idea
7哥♡ۣۖᝰꫛꫀꪝۣℋ22 分钟前
Spring Boot
java·spring boot·后端
Moniane23 分钟前
C++深度解析:从核心特性到现代编程实践
java·开发语言·jvm
uxiang_blog25 分钟前
C++进阶:重载类型转换
linux·开发语言·c++
攻城狮CSU29 分钟前
C# 数据加载专题 之泛型序列化
java·servlet·c#
浩泽学编程29 分钟前
【源码深度 第1篇】LinkedList:双向链表的设计与实现
java·数据结构·后端·链表·jdk
哲此一生98434 分钟前
创建一个SpringBoot项目(连接数据库)
java·spring boot·后端
文心快码BaiduComate36 分钟前
Comate Zulu实测:不会编程也能做软件?AI程序员现状令人震惊
java·程序员·前端框架