請問轉換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[]?怎么寫呢?