我写下面的代码:
when(month){
1 or 7 -> arrHoangDao = arrayListOf("Tý", "Sửu", "Tỵ", "Mùi")
2 or 8 -> arrHoangDao = arrayListOf("Dần", "Mão", "Mùi", "Dậu")
3 or 9 -> arrHoangDao = arrayListOf("Thìn", "Tỵ", "Dậu", "Hợi")
4 or 10 -> arrHoangDao = arrayListOf("Ngọ", "Mùi", "Sửu", "Dậu")
5 or 11 -> arrHoangDao = arrayListOf("Thân", "Dậu", "Sửu", "Mão")
/* 6 or 12 is duplicate */
6 or 12 -> arrHoangDao = arrayListOf("Tuất", "Hợi", "Mão", "Tị")
}
我得到的消息是“何时复制”。什么意思?
答案 0 :(得分:20)
您将bitwise OR与or
一起使用。这意味着1 or 7
的计算结果为7,而4 or 10
的计算结果为14。6 or 12
的计算结果也为14,因此编译器告诉您它是重复的。
解决方案:使用,
代替or
。有关如何使用when语句here的更多信息。