class MainActivity:AppCompatActivity(){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
看起来就像最新的Kotlin更新一样,您不能再通过具有解构Entry地图来迭代。 例如: val map = HashMap() for ((i, s) in map) { // compiler error here … // code } 编译器错误是For-loop range must have an iterator() method 此function以前按预期工作,遍历地图中的每个条目。 我也尝试使用map.entries和map.entrySet() (不建议使用)和这些: 现在迭代地图的习惯用法是什么? 这是一个错误?
在Python中,我可以有复杂的字典键,例如: d = {} d[(1, 2)] = 3 print d[(1, 2)] # prints 3 我怎样才能在Kotlin中声明和填充这样一个Map? 编辑:我试图宣布这样的地图,但我不知道如何填充它: val my_map = HashMap<Pair, Int>()
在JavaScript中: {foo: bar, biz: qux} 。 在Ruby中: {foo => bar, biz => qux} 。 在Java中: HashMap map = new HashMap(); map.put(foo, bar); map.put(biz, qux); 肯定Kotlin可以比Java更好吗?