在Java中使用在Kotlin中定义的IntDef错误
我试图在Kotlin中定义一个IntDef
接口,然后在Java中使用这些常量。 我能够访问它,但是当我尝试在其上执行一个等号运算符时,出现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){ ... } }
我的温度修复这个
void myFunction(@RandomClass.MyState long state){ if(Objects.equal(state, RandomClass.STATE_1)){ ... } }