集合如何存储基本数据类型

package cn.dali.code09;

import java.util.ArrayList;

/*集合存储基本数据类型的方法:
*   使用包装类把基本类型包装成引用类型,这样集合就可以存储了。
*
*   包装类:可以把基本类型包装成一个类
*
*   自动装箱:
*   基本类型-->包装类型
*   自动拆箱:
*   包装类型-->基本类型
*
*   注意:只有在jdk1.5版本以上可以进行自动装箱和拆箱,1.5以下的版本需要手动转换。
*
*   基本类型对应的包装类型如下:
*   基本类型        包装类(全部都在java.long下,不需要手动导包)
*   byte           Byte
*   short          Short
*   int            Integer [特殊]
*   long           Long
*   float          Float
*   double         Double
*   char           Character[特殊]
*   boolean        Boolean
*   注:JAVA中除了这八大基本类型,其他全部为引用类型。
*   */
public class ArrayList02 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(10);
        list.add(20);
        System.out.println(list.get(0)+","+list.get(1));

    }
}

在 Java 中,集合框架(如 `List`、`Set`、`Map` 等)是基于泛型实现的,并且只能存储对象类型,不能直接存储基本数据类型(如 `int`、`double`、`boolean` 等)。为了能让集合存储基本数据类型的值,需要使用对应的包装类。包装类是为基本数据类型提供的对象形式,它们将基本数据类型封装成对象,从而可以在需要对象的地方使用基本数据类型的值。 Java 为每个基本数据类型都提供了对应的包装类,具体对应关系如下: | 基本数据类型 | 包装类 | | --- | --- | | `byte` | `Byte` | | `short` | `Short` | | `int` | `Integer` | | `long` | `Long` | | `float` | `Float` | | `double` | `Double` | | `char` | `Character` | | `boolean` | `Boolean` | 以下是一个使用集合存储基本数据类型(通过包装类)的示例: ```java import java.util.ArrayList; import java.util.List; public class CollectionWithWrapperExample { public static void main(String[] args) { // 创建一个存储 Integer 类型的 List 集合 List<Integer> intList = new ArrayList<>(); // 自动装箱:将基本数据类型 int 转换为包装类 Integer intList.add(10); intList.add(20); // 自动拆箱:将包装类 Integer 转换为基本数据类型 int int firstElement = intList.get(0); System.out.println("First element: " + firstElement); } } ``` 在上述代码中,`List<Integer>` 表示该集合存储的元素类型是 `Integer` 包装类。当向集合中添加 `int` 类型的值(如 `10` 和 `20`)时,Java 会自动将其转换为 `Integer` 对象,这个过程称为自动装箱。而当从集合中获取元素并赋值给 `int` 类型的变量时,Java 会自动将 `Integer` 对象转换为 `int` 类型的值,这个过程称为自动拆箱。 使用包装类的好处主要有以下几点: - **可以在集合中使用基本数据类型**:集合框架只能存储对象,通过包装类可以将基本数据类型封装成对象,从而可以在集合存储和操作基本数据类型的值。 - **提供了额外的方法和属性**:包装类提供了一些实用的方法和属性,例如 `Integer.parseInt()` 方法可以将字符串转换为 `int` 类型的值,`Double.MAX_VALUE` 可以获取 `double` 类型的最大值。 - **支持泛型**:泛型要求使用对象类型,包装类使得基本数据类型也能参与泛型的使用,提高了代码的类型安全性和复用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值