我已经将hashmap更改为集合,将集合更改为对象,现在我需要将对象转换为String。无论是这种方式还是比这更好的方式都是非常值得注意的。
Collection<String> t;
Collection<String> n;
String[] names;
String[] types;
Object[] foo;
Object[] doo;
HashMap<Integer, String> typehashmap=new HashMap<Integer, String>();
HashMap<Integer, String> namehashmap=new HashMap<Integer, String>();
t= typehashmap.values();
n= namehashmap.values();
foo=t.toArray();
doo=n.toArray();
for(int i=0;i<t.size();i++){
error--> types[i]=(String) foo[i];
error--> names[i]=(String) doo[i];
}
答案 0 :(得分:0)
只需使用HashMap.values()。toArray()例如:
String[] names = namehashmap.values().ToArray(new String[namehashmap.size()]);
String[] types = typehashmap.values().ToArray(new String[typehashmap.size()]);
答案 1 :(得分:0)
假设“error”是一个ArrayIndexOutOfBoundsException“,你需要在向它们添加任何内容之前分配数组。还有另一个toArray方法可以提供帮助:
String[] types = typehashmap.values().toArray(new String[typehashmap.size()]);
答案 2 :(得分:0)
这可能是编译错误!在使用之前,不要初始化类型数组和名称数组。一楼的方法是解决问题的好方法。