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 پاسخ 728 بازدید
+1 امتیاز
2 پاسخ 626 بازدید
+1 امتیاز
1 پاسخ 446 بازدید
0 امتیاز
1 پاسخ 464 بازدید
0 امتیاز
1 پاسخ 594 بازدید
+1 امتیاز
1 پاسخ 434 بازدید
+1 امتیاز
1 پاسخ 1.4هزار بازدید
+1 امتیاز
1 پاسخ 1.8هزار بازدید
...