0
点赞
收藏
分享

微信扫一扫

java wrapper是什么类

一:概述

在 Java 编程语言中,Wrapper 类是一个特殊的类集合,它们的主要作用是将基本数据类型包装成对象。Java 语言中的八种基本数据类型(byte, short, int, long, float, double, char, boolean)都有对应的 Wrapper 类,这些类分别是 Byte, Short, Integer, Long, Float, Double, Character, Boolean。这些 Wrapper 类不仅使得基本数据类型可以被视为对象,而且它们还提供了一些有用的方法和功能,比如数值转换、字符串表示、比较等。

二:具体说明

<1>Wrapper类的作用

1.1 泛型和集合框架的兼容性:

由于 Java 的泛型和集合框架只能操作对象,Wrapper 类使得基本数据类型可以被用作泛型和集合的元素。

1.2 自动装箱和拆箱:

Java 提供了自动装箱(auto-boxing)和自动拆箱(auto-unboxing)机制,使得基本数据类型和它们的 Wrapper 类之间可以无缝转换。

1.3 数值缓存:

Integer 和 Long 类在一定范围内(-128 到 127 对于 Integer,-9223372036854775808 到 9223372036854775807 对于 Long)会缓存实例,这样可以提高对象重用率,减少内存消耗。

1.4 方法丰富:

Wrapper 类提供了许多有用的方法,如 parseInt、parseFloat 等,这些方法简化了基本数据类型的操作。

<2>wrapper类的使用方法

2.1 自动装箱和拆箱

public class BoxingUnboxingExample {
    public static void main(String[] args) {
        int i = 10; // 自动拆箱
        Integer integer = i; // 自动装箱

        Integer boxed = 20; // 自动装箱
        int unboxed = boxed; // 自动拆箱
        System.out.println("i: " + i + ", integer: " + integer + ", unboxed: " + unboxed);
    }
}

2.2 数值缓存

public class CachingExample {
    public static void main(String[] args) {
        Integer a = 127;
        Integer b = 127;
        Integer c = 128;
        Integer d = 128;

        System.out.println("a == b: " + (a == b)); // true,因为 127 在缓存范围内
        System.out.println("c == d: " + (c == d)); // false,因为 128 不在缓存范围内
    }
}

<3>wrapper类的方法

public class WrapperMethodsExample {
    public static void main(String[] args) {
        Integer integer = 100;
        String str = "200";

        // 使用 parseInt 方法
        int intValue = Integer.parseInt(str);
        System.out.println("intValue: " + intValue);

        // 使用 toString 方法
        String strValue = integer.toString();
        System.out.println("strValue: " + strValue);
    }
}

<4>wrapper类的比较

4.1 基本数据类型比较

基本数据类型之间的比较是直接比较它们的值。

public class PrimitiveComparison {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        System.out.println("a == b: " + (a == b)); // true
    }
}

4.2 wrapper类的比较

Wrapper 类对象之间的比较默认是比较对象的内存地址,而不是它们的值。

public class WrapperComparison {
    public static void main(String[] args) {
        Integer a = new Integer(10);
        Integer b = new Integer(10);
        System.out.println("a == b: " + (a == b)); // false

        // 使用 equals 方法比较值
        System.out.println("a.equals(b): " + a.equals(b)); // true
    }
}

4.3 equals方法比较wrapper类

public class WrapperEqualsExample {
    public static void main(String[] args) {
        Integer a = 10;
        Integer b = 10;
        System.out.println("a.equals(b): " + a.equals(b)); // true
    }
}

<5>总结

Java 的 Wrapper 类是 Java 语言中一个非常有用的机制,它们不仅使得基本数据类型可以作为对象使用,而且还提供了许多便利的方法和特性。了解和掌握 Wrapper 类的使用方法和特性,对于 Java 程序员来说是非常有帮助的。在实际开发中,合理使用 Wrapper 类可以提高代码的可读性和效率。



举报

相关推荐

0 条评论