Kotlin이 다음과 같이 주어집니다.
object OldTownRoad {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
그리고이 자바 클래스 :
public class Scrap {
@Named(OldTownRoad.COWBOY_HATS)
public void lilNasXrefs() {
System.out.println(OldTownRoad.COWBOY_HATS);
System.out.println(OldTownRoad.WRANGLER);
}
}
컴파일러는 println()
호출에 만족 합니다. 그것은의 사용에 대해 불평 COWBOY_HATS
에서 @Named
이 안드로이드 스튜디오 3.5.3 스크린 샷에서 볼 수 있듯이, "속성 값이 일정해야합니다"라고, 주석 :
나는 노력 @JvmStatic
과 @JvmField
이들에 대한 const val
선언하지만, 컴파일러는 유효하지도 없다고 불평 const
속성.
나는 동일한 결과를 얻는다 companion object
:
class OldTownRoad {
companion object {
const val COWBOY_HATS = "from Gucci"
const val WRANGLER = "on my booty"
}
}
Java 주석에서 참조 할 때 작동하는 다른 Kotlin 상수 구문이 있습니까?
final val? .....
—
Rick Sanchez
어떤 Kotlin 버전을 사용하고 있습니까? 이것을 재현 할 수 없습니다.
—
natario
@RickSanchez :
—
CommonsWare
final const val
"최종은 중복 수정 자"가됩니다. 그것도 final val
문제를 해결 하지도 않습니다 .
@ natario : Kotlin 1.3.61
—
CommonsWare
@ natario : 당신이 그것을 재현 할 수 없다는 것을 지적 해 주셔서 감사합니다! 이것은 악성 Android Studio 검사 오류 인 것 같습니다. 코드가 올바르게 컴파일됩니다.
—
CommonsWare