鉴于 Kotlin 的这一点:
object OldTownRoad {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
Run Code Online (Sandbox Code Playgroud)
和这个 Java 类:
public class Scrap {
@Named(OldTownRoad.COWBOY_HATS)
public void lilNasXrefs() {
System.out.println(OldTownRoad.COWBOY_HATS);
System.out.println(OldTownRoad.WRANGLER);
}
}
Run Code Online (Sandbox Code Playgroud)
编译器对println()调用很满意。它抱怨使用COWBOY_HATS的@Named注解,说:“属性值必须是常量”,在这个Android 3.5.3工作室截图所示:

我试着@JvmStatic和@JvmField这些const val声明,但是编译器会抱怨,无论是有效的const属性。
我从 a 得到相同的结果companion object:
class OldTownRoad {
companion object {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
}
Run Code Online (Sandbox Code Playgroud)
从 Java 注释引用时,是否还有其他一些 Kotlin 常量语法可以工作?
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |