在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)){ ... } }