Kotlin'in bu biti göz önüne alındığında:
object OldTownRoad {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
ve bu Java sınıfı:
public class Scrap {
@Named(OldTownRoad.COWBOY_HATS)
public void lilNasXrefs() {
System.out.println(OldTownRoad.COWBOY_HATS);
System.out.println(OldTownRoad.WRANGLER);
}
}
Derleyici println()
aramalardan memnun . Bu kullanımı hakkında şikayet COWBOY_HATS
de @Named
bu Android Studio 3.5.3 ekran görüntüsünde görüldüğü gibi, "Özellik değeri sabit olmalıdır" diyerek açıklama:
Ben denedim @JvmStatic
ve @JvmField
bu const val
bildirimler üzerinde, ama derleyici hiçbiri const
özellikleri için geçerli şikayet ediyor .
Aynı sonuçları bir companion object
:
class OldTownRoad {
companion object {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
}
Java ek açıklamasından bahsedildiğinde çalışan başka bir Kotlin sabit sözdizimi var mı?
final const val
"final yedek bir değiştiricidir" ile sonuçlanır. Ne bu ne de final val
sorunu çözer.