常用类

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

包装类(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
    }
}
相关推荐
AskHarries1 分钟前
用 OpenClaw 做一份完整 PPT:从主题、提纲到 slide deck
后端·程序员
Csvn17 分钟前
Linux 常用操作命令合集与运维实战
后端
卷无止境33 分钟前
现代C++ 编译器生态及其对编程规范的影响
后端
云技纵横34 分钟前
一个 @Async,把 @Transactional 的事务边界打穿了
后端·面试
BothSavage1 小时前
OpenHarness源码研究-3-codex配置到输出对话
后端·架构
SimonKing1 小时前
Google第三方授权登录
java·后端·程序员
codingWhat1 小时前
能效平台设计方案(打通gitlab和飞书)
后端·node.js·koa
宋均浩1 小时前
# REST 的四个成熟度等级:为什么你不需要 Level 3
后端
万少1 小时前
22 点后,我靠这个 AI 工具成了"夜间天才程序员"
前端·后端
IT_陈寒1 小时前
React hooks 闭包陷阱把我的状态吃掉了,原来问题出在这里
前端·人工智能·后端