常用类

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

包装类(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
    }
}
相关推荐
根目录下的猫2 分钟前
虚拟机复制过来运行时:“虚拟机使用的此版本,VMware Workstation 不支持的硬件版本。”错误解决办法,亲测可用
linux·运维·服务器·后端
蜗牛互联网14 分钟前
Java Agent 工具调用的 allowlist、参数校验与调用预算
java·开发语言·人工智能·后端·oracle
用户8132679332515 分钟前
行情数据晚到几秒,会让量化策略失去优势吗?从信号时间到回测偏差
后端·github·api
九零HTTP15 分钟前
一次 TCP 连接的一生:从三次握手到四次挥手
后端
ZOnePieceC19 分钟前
消息队列之Kafka
后端
yunwei3720 分钟前
eBPF 入门实践教程十七:编写 eBPF 程序统计随机/顺序磁盘 I/O
linux·后端·性能优化
花间相见21 分钟前
【计算基础|网络07】HTTPS(下):ECDHE 握手与优化
后端
QuantiCore_IO21 分钟前
从请求风暴到可维护的数据管道:量化系统为什么需要批量接口?
后端·github·api
1360967572322 分钟前
.env 的三个必查项
后端
长安米粒贵22 分钟前
接口超时了,为什么重试反而把系统打垮?聊聊超时预算的 4 个误区
后端