我试图在Kotlin中定义一个IntDef
接口,然后在Java中使用这些常量。我能够访问它,但当我尝试对其执行equals运算符时,我收到IDE Lint错误。但是,不同的比较运算符(<,>)工作正常。甚至使用' Objects.equal()'工作,只是没有==。有人对此有任何想法吗?
错误:必须是以下之一:1L,2L
我的Kotlin课程
class RandomClass{
...
@IntDef(STATE_1, STATE_2)
@Retention(AnnotationRetention.SOURCE)
annotation class MyState
companion object {
const val STATE_1 = 1L
const val STATE_2 = 2L
}
在Java中访问发生错误的注释
void myFunction(@RandomClass.MyState long state){
if(state == RandomClass.STATE_1){
...
}
}
My Temp Fix for this
void myFunction(@RandomClass.MyState long state){
if(Objects.equal(state, RandomClass.STATE_1)){
...
}
}