0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

وقتی با استفاده از متد asList کلاس Arrays آرایه ای از نوع داده primitive را به List تبدیل می کنم بجای اینکه لیستی از آن نوع داده primitive درست شود، لیستی از آرایه درست می شود:

        int[] array = new int[] { 1, 2, 3 };

        List<int[]> list = Arrays.asList(array);

چرا؟ و چگونه می توان این مشکل را برطرف کرد؟

مربوط به این پاسخ: تبدیل آرایه به ArrayList در جاوا

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

بدلیل اینکه در جاوا نمی توانیم برای نوع داده generic از انواع داده primitive استفاده کنیم پس نمی توانیم لیستی از int داشته باشیم. برای این تبدیل می توانید از روش های زیر استفاده کنید:

- تبدیل نوع int به Integer در کد:

        Integer[] array = new Integer[] { 1, 2, 3 };

        List<Integer> list = Arrays.asList(array);

- استفاده از IntStream های جاوا 8

        int[] array = new int[]{1, 2, 3};
        List<Integer> list = Arrays.stream(array)
                .boxed().collect(Collectors.toList());

- استفاده از حلقه for

        int[] array = new int[]{1, 2, 3};
        List<Integer> list = new ArrayList<>();
        for (Integer item : array) {
            list.add(item);
        }

سوالات مشابه

0 امتیاز
1 پاسخ 861 بازدید
+1 امتیاز
2 پاسخ 751 بازدید
+1 امتیاز
1 پاسخ 579 بازدید
0 امتیاز
1 پاسخ 563 بازدید
0 امتیاز
1 پاسخ 679 بازدید
+1 امتیاز
1 پاسخ 563 بازدید
+1 امتیاز
1 پاسخ 1.5هزار بازدید
+1 امتیاز
1 پاسخ 1.9هزار بازدید
...