问答详情
源自:4-4 Stream操作集合中的数据-上

请问转换toAarray的问题

指定泛型:正常    

    new HashMap<String, String>() {{

            put("a", "1");

            put("b", "2");

            put("c", "3");

        }}.values().stream().toArray(String[]::new);


不指定泛型:报错

        new HashMap () {{

            put("a", "1");

            put("b", "2");

            put("c", "3");

        }}.values().stream().toArray(String[]::new);


如果不指定泛型,会报错:

Cannot cast 'java.lang.String[]' to 'java.lang.Object[]'

请问,toArray的使用,要注意什么呢?是不是泛型都是要明确的?

如果泛型不明确,能否通过stream操作用toString之类的方法来得到最终的String[]?怎么写呢?


提问者:阿理理 2021-03-16 12:05

个回答