Maison  >  Questions et réponses  >  le corps du texte

Avertissement concernant la conversion d'un tableau en 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));
    }
}
迷茫迷茫2657 Il y a quelques jours745

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-06-12 09:27:17

    asList 是个泛型,可变参数的函数,所以传入数组的时候,这个数组如果是基本类型数据,会被当作一个对象处理,题中就是 int[]。如果数据定义成 Integer[] 的,在 asList sera développé sous forme de plusieurs paramètres variables.

    Un autre problème est que même Integer[],它转换之后与 ArrayList<String> a également le problème de l'inadéquation des types génériques. Il peut être facilement converti en utilisant stream dans Java8. Dans les versions précédentes de Java, les boucles peuvent être utilisées. Voici une réponse sur Stack Overflow

    .

    répondre
    0
  • 世界只因有你

    世界只因有你2017-06-12 09:27:17

        // 声明数组
            int[] arr = { 1, 10, 8 };
            // 输出测试数组
            System.out.println("测试的数组为:" + Arrays.toString(arr));
    
            // 通过下角标访问元素,数组的下角标是从0开始的
            System.out.println("通过数组的下角标访问元素,元素的下角标从0开始,下角标为0的元素是:" + arr[0]);
    
            // 将Array 转换成 Arraylist
            List<int[]> ss = Arrays.asList(arr);
            ArrayList<String> arrayList = new ArrayList<String>();

    List<int[]> ne peut pas être automatiquement converti en ArrayList<String>

    Il est recommandé d'unifier le type de données, int[] arr = { 1, 10, 8 }; remplacé par String[] arr = { "1", "10", "8" };

     // 声明数组
            String[] 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));

    répondre
    0
  • Annulerrépondre