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 پاسخ 706 بازدید
+1 امتیاز
2 پاسخ 611 بازدید
+1 امتیاز
1 پاسخ 438 بازدید
0 امتیاز
1 پاسخ 449 بازدید
0 امتیاز
1 پاسخ 586 بازدید
+1 امتیاز
1 پاسخ 425 بازدید
+1 امتیاز
1 پاسخ 1.4هزار بازدید
+1 امتیاز
1 پاسخ 1.8هزار بازدید
...