java - 关于将Array转换成ArrayList的警告

查看:88
本文介绍了java - 关于将Array转换成ArrayList的警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

package com.demo.array;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * 关于数组的演示
 * 
 * @author Captain
 *
 */
public class ArrayDemo {
    public static void main(String[] args) {
        // 声明数组
        int[] arr = { 1, 10, 8 };
        // 输出测试数组
        System.out.println("测试的数组为:" + Arrays.toString(arr));

        // 通过下角标访问元素,数组的下角标是从0开始的
        System.out.println("通过数组的下角标访问元素,元素的下角标从0开始,下角标为0的元素是:" + arr[0]);

        // 将Array 转换成 Arraylist
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
    }
}

解决方案

asList 是个泛型,可变参数的函数,所以传入数组的时候,这个数组如果是基本类型数据,会被当作一个对象处理,题中就是 int[]。如果数据定义成 Integer[] 的,在 asList 的时候会被当作多个可变参数展开。

另外一个问题在于,就算是 Integer[],它转换之后与 ArrayList<String> 也存在泛型类型不匹配的问题。在 Java8 中用 stream 可以很方便的转换过来,之前的 Java 版可以用循环,这里给你一个 Stack Overflow 上的答案

这篇关于java - 关于将Array转换成ArrayList的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆