The same issue is present even without any varargs or generics present, when 
using plain old arrays:

                String[] list1 = new String[1];
                list1[0] = "hello";
                Integer[] list2 = new Integer[1];
                list2[0] = 1;
                String[][] array = {list1, null};
                Object[][] array2 = array;
                array2[1] = list2;
                for(String[] l : array) {
                        System.out.println(l[0]);
                }

Both issues stem from these unsafe implicit conversions which don’t get a 
warning:

        private static List<?>[] implicit1(List<String>[] it) {
                return it;
        }

        private static Object[][] implicit2(String[][] it) {
                return it;
        }


I don’t like these conversions either but I don’t see them directly relevant to 
introducing an Arrays.asArray()-method.

If you want to try to introduce mandatory warnings for these conversions I will 
definitely cheer you on!






-- 
Have a nice day, 
Timo

Sent from Mail for Windows 10

From: fo...@univ-mlv.fr

Reply via email to