强哥说Java--Java包装类(一)

简介: 强哥说Java--Java包装类(一)

1. 什么是包装类



Java 有 8 种基本数据类型,Java 中的每个基本类型都被包装成了一个类,这些类被称为包装类。


包装类可以分为 3 类:Number、Character、Boolean,包装类的架构图如下所示:


image.png


2. 为什么需要包装类



我们知道 Java 是面向对象的编程语言,但为了便于开发者上手,Java 沿用了 C 语言的基本数据类型,因此 Java 数据类型被分为了基本数据类型和引用数据类型。


对于简单的运算,开发者可以直接使用基本数据类型。但对于需要对象化交互的场景(例如将基本数据类型存入集合中),就需要将基本数据类型封装成 Java 对象,这是因为基本数据类型不具备对象的一些特征,没有对象的属性和方法,也不能使用面向对象的编程思想来组织代码。出于这个原因,包装类就产生了。


包装类就是一个类,因此它有属性、方法,可以对象化交互。


3. 基本数据类型与包装类



下表列出了基本数据类型对应的包装类。这些包装类都位于 java.lang 包下,因此使用包装类时,我们不需要手动引入。


基本数据类型 对应的包装类


byte Byte


short Short


int Integer


long Long


float Float


double Double


char Character


boolean Boolean


除了 int 对应的包装类名称为 Integer 以及 char 对应的包装类名称 Character,其他 6 种数据类型对应的包装类,命名都为其基本数据类型的首字母的大写。


4. 包装类常用方法



4.1 Number 类


Number 类是所有数值类型包装类的父类,这里以其中一个子类 Integer 类为例,介绍其构造方法、常用方法以及常量。


4.1.1 构造方法


Integer 类提供两个构造方法:


Integer(int value):以 int 型变量作为参数创建 Integer 对象;

Integer(String s):以 String 型变量作为参数创建 Integer 对象。

实例如下:


package com.caq.exception;
public class Test2 {
    public static void main(String[] args) {
        //以int变量为参数创建对象
        Integer integer = new Integer(3);
        //以字符串类型作为参数创建对象
        Integer integer1 = new Integer("5");
    }
}


4.1.2 常用方法


byte byteValue():以 byte 类型返回该 Integer 的值;


int compareTo(Integer1 Integer2):在数值上比较两个 Integer 对象。如果这两个值相等,则返回 0;如果调用对象的数值小于 Integer2 的数值,则返回负值;如果调用对象的数值大于 Integer2的数值,则返回正值;


boolean equals(Object obj):比较此对象与指定对象是否相等;


int intValue():以 int 类型返回此 Integer 对象;


int shortValue():以 short 类型返回此 Integer 对象;


toString():返回一个表示该 Integer 值的 String 对象;


static Integer valueOf(String str):返回保存指定的 String 值的 Integer 对 象;


int parseInt(String str):返回包含在由 str 指定的字符串中的数字的等价整数值。


4.1.3 常用常量


MAX_VALUE: 表示 int 型可取的最大值;


MIN_VALUE: 表示 int 型可取的最小值;


SIZE:表示以二进制补码形式表示 int 值的位数;


TYPE: 表示基本类型 Class 实例。


package com.caq.exception;
public class Test2 {
    public static void main(String[] args) {
        int a = Integer.MAX_VALUE;
        int b = Integer.MIN_VALUE;
        int c = Integer.SIZE;
        System.out.println("int类型可取的MAX_VALUE是"+a);
        System.out.println("int类型可取的MIN_VALUE是"+b);
        System.out.println("int类型可取的二进制位数是"+c);
    }
}


运行结果:


int类型可取的MAX_VALUE是2147483647
int类型可取的MIN_VALUE是-2147483648
int类型可取的二进制位数是32


相关文章
|
JavaScript Java 编译器
Java包装类和泛型的知识点详解
Java包装类和泛型的知识点的深度理解
|
12月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
289 4
|
Java 编译器 容器
Java——包装类和泛型
包装类是Java中一种特殊类,用于将基本数据类型(如 `int`、`double`、`char` 等)封装成对象。这样做可以利用对象的特性和方法。Java 提供了八种基本数据类型的包装类:`Integer` (`int`)、`Double` (`double`)、`Byte` (`byte`)、`Short` (`short`)、`Long` (`long`)、`Float` (`float`)、`Character` (`char`) 和 `Boolean` (`boolean`)。包装类可以通过 `valueOf()` 方法或自动装箱/拆箱机制创建。
161 9
Java——包装类和泛型
|
Java 程序员
【Java基础面试八】、为啥要有包装类?
这篇文章解释了Java中存在包装类的原因:为了让基本数据类型具备对象的特性,使得它们可以被用作对象,以符合Java"一切皆对象"的设计理念,并简化将基本数据类型作为Object类型参数传递的问题。
【Java基础面试八】、为啥要有包装类?
|
存储 Java 测试技术
Java零基础教学(10):包装类
【9月更文挑战第1天】Java零基础教学篇,手把手实践教学!
163 1
|
Java
【Java】什么是泛型?什么是包装类
【Java】什么是泛型?什么是包装类
106 0
|
算法 Java
12 Java常用类(一)(内部类+object类+包装类)
12 Java常用类(一)(内部类+object类+包装类)
113 5
|
前端开发 Java
【前端学java】java中的包装类(12)
【8月更文挑战第10天】java中的包装类
88 1
|
存储 Java 测试技术
Java零基础(11) - 包装类详解
【8月更文挑战第11天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
147 1
|
存储 Java 测试技术
day18:Java零基础 - 包装类
【7月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
99 9
下一篇
开通oss服务