常用类

常用的类分为:包装类、字符串相关的类、时间处理相关类、其他常见的类

包装类(Wrapper Class)

包装类知识点:基本用法、Number类、自动装箱和拆箱、包装类的缓存问题

1. 基本数据类型的包装类

前面的8中基本类型并不是对象,为了将基本类型数据和对象之间实现互相转化,Java为每一个基本类型提供了相应的包装类。

2.包装类的基本知识

Java是面向对象语言,但不是纯面向对象的,因为我们平时用的基本数据类型并不是对象。但是我们在平时应用中需要经常将基本数据转化为对象,以便于操作。

为了解决这个不足,Java在设计类时为每一个基本数据类型都设计了一个对应的类进行代表,这样八个基本数据类型对应的类统称为包装类;

包装类位于Java.lang包中,以下是对应关系:

基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

8个基本类型,其中6个都是数字类型(byte/short/int/long/float/double)的,实现于抽象类Number。

Number类是抽象类,因此它的抽象方法,所有子类都需要提供实现。Number类提供了抽象方法:intValue()、longValue()、floatValue()、doubleValue(),意味着所有的"数字型"包装类都可以互相转型。

初识包装类

java 复制代码
public class Test {
    public static void main(String[] args) {
        Integer a = new Integer(50); // java9开始被废弃
        Integer t = Integer.valueOf(50); // 官方推荐写法
    }
}

内存分析:

3. 包装类的用途

  1. 作为和基本数据类型对应的类型存在,方便涉及到对象的操作,如Object[]、集合等操作。

  2. 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法(这些操作方法的作用是在基本数据类型、包装类对象、字符串之间提供相互之间的转化!)

4. 包装类的使用

java 复制代码
public class Test {
    public static void main(String[] args) {
        // int -> Integer
        Integer t = Integer.valueOf(50);
        
        // Integer -> int
        int a = t.intValue(); 
        System.out.println(a); // 50
        
        // String -> Integer
        String s = "123";
        Integer s1 = Integer.valueOf(s);
        
        // Integer -> String
        String s2 = s1.toString();
        
        //一些常见int类型相关的常量
        System.out.println("int类型能表示的最小值" + Integer.MIN_VALUE); // -2147483648
        System.out.println("int类型能表示的最大值" + Integer.MAX_VALUE); // 2147483647
    }
}
相关推荐
remember_me5 分钟前
LECL用法指南
后端
Counter-Strike大牛12 分钟前
SpringBoot中使用POI+EasyExcel批量导出主子表信息,以箱单为例
windows·spring boot·后端
医疗信息化王工17 分钟前
基于ASP.NET Core的医院不良事件管理系统的架构设计
后端·asp.net
小谢小哥17 分钟前
53-熔断降级详解
java·后端·架构
满天星830357719 分钟前
【Linux/多路复用】poll和epoll的使用
linux·服务器·c++·后端
覆东流23 分钟前
第6天:python综合练习——制作简易计算器
开发语言·后端·python
CodeMartain33 分钟前
shardingsphere-spring 实现数据分片(一)
java·后端·spring
Kiyra1 小时前
为什么远程调用别包进 Spring 事务里
java·后端·spring
武子康1 小时前
大数据-277 Spark MLib-梯度提升树(GBDT)算法原理与工程实现指南
大数据·后端·spark
Victor3562 小时前
MongoDB(101)如何处理MongoDB中的慢查询?
后端