2016-08-22 51 views

回答

3

entrySet()返回一个Set<Map.Entry<K,V>>,所以你不能从它产生一个Channel数组。

您并不需要创建一个数组以迭代Channel值。只需使用values()

for (Channel channel : channels.values()) { 
    // stuff 
} 
+0

那么我会如何转换? – Priv

+0

@Priv渠道是地图的关键? – Eran

+0

不知道,谢谢。 – Priv

1

您是否检查了ArrayStoreException的文档?它说:“抛出以表明已尝试将错误类型的对象存储到对象数组中。”因此,显而易见的(可能是:-)猜测是toArray()正试图将某些东西存储到您的Channel数组中一个Channel。这是有道理的,因为入口集包含,而不是Channel对象,但是Map.Entry<String,Channel>。那些不一样。

相关问题