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 پاسخ 870 بازدید
+1 امتیاز
2 پاسخ 763 بازدید
+1 امتیاز
1 پاسخ 586 بازدید
0 امتیاز
1 پاسخ 569 بازدید
0 امتیاز
1 پاسخ 685 بازدید
+1 امتیاز
1 پاسخ 574 بازدید
+1 امتیاز
1 پاسخ 1.5هزار بازدید
+1 امتیاز
1 پاسخ 1.9هزار بازدید
...