我想要哈希图进行排列
我创建哈希图
Map<Integer,File> selectedFiles = new Hashmap<>();
并放一些地图数据
我将此哈希图的值转换为数组,因此
File[] files = (File[]) selectedFiles.values().toArray();
但是会发生错误。
java.lang.Object[] cannot be cast to java.io.File[]
我知道,当我希望将哈希图的值进行数组化时,请使用.values.toArray(),但也许它不是正确的;
这样是错的吗?
最佳答案
Map<Integer, File> selectedFiles = new HashMap<>();
selectedFiles.put(1, null);
File[] files = selectedFiles.values().toArray(
new File[selectedFiles.size()]);
System.out.println(files);// We will get the object [Ljava.io.File;@15db9742
数组。没有参数的toArray会创建一个对象数组,因为列表的类型信息在运行时会丢失。