-2
我无法用一个类型CAS的错误,我不能找出为什么它不断坡平铸造的HashMap
错误消息:[Ljava.lang.Object; cannot be cast to [Lnet.masterthought.cucumber.json.Stuff;
它在线上弹出this.stuffs = (Stuff[]) sList.toArray();
任何人都有什么想法是什么问题?
public class Element {
private Stuff[] stuff;
//... getters setters
public function updateStuff(Stuff[] newStuff) {
Map<String, Stuff> stuffMap = new HashMap<String, Stuff>();
for (Stuff s : this.stuffs) {
stuffMap.put(s.getName(), s);
}
for (Stuff s : prevStuffs) {
if (stuffMap.containsKey(s.getName())) {
stuffMap.get(s.getName()).setValue(s.getValue());
}
}
ArrayList<Stuff> sList = new ArrayList<Stuff>(stuffMap.values());
this.stuffs = (Stuff[]) sList.toArray();
}
}
或更简单:'sList.toArray(new Stuff [0]);' – assylias 2015-03-31 21:33:35
@assylias谢谢你。我不知道你可以这样做。 'toArray' API是一条全狗早餐。 – 2015-03-31 21:41:04