반응형
Kotlin : KClass의 getClass ()와 동일
Java에서는 다음 getClass()
과 같이 변수의 클래스를 해결할 수 있습니다 something.getClass()
. Kotlin에서는 something.javaClass
어느 것이 좋은지 알고 있지만 KClass
비슷한 방식으로 얻을 수 있기를 원합니다 . 나는 Something::class
구문을 보았지만 이것은 내가 필요한 것이 아닙니다. 변수의 KClass를 가져와야합니다. 그러한 기능이 존재합니까?
Kotlin 1.1 이후이를 달성하는 가장 쉬운 방법은 클래스 참조 구문입니다 .
something::class
Kotlin 1.0을 사용하는 경우 .kotlin
확장 속성 을 호출하여 얻은 자바 클래스를 KClass 인스턴스로 변환 할 수 있습니다 .
something.javaClass.kotlin
편집 : 아래의 주석을 참조하고 위의 Alexander의 답변을 참조하십시오. 이 조언은 원래 Kotlin 1.0에 대한 것이었고 이제는 쓸모없는 것 같습니다.
이 언어는 아직 이것을 얻는 직접적인 방법을 지원하지 않으므로 지금은 확장 메서드를 정의하는 것이 좋습니다.
fun<T: Any> T.getClass(): KClass<T> {
return javaClass.kotlin
}
val test = 0
println("Kotlin type: ${test.getClass()}")
또는 속성을 선호하는 경우 :
val<T: Any> T.kClass: KClass<T>
get() = javaClass.kotlin
val test = 0
println("Kotlin type: ${test.kClass}")
참고 URL : https://stackoverflow.com/questions/32655216/kotlin-equivalent-of-getclass-for-kclass
반응형
'program tip' 카테고리의 다른 글
TVF (Table-Valued Function) vs.보기 (0) | 2020.10.27 |
---|---|
앱이 Payload /에서 비공개 선택기를 참조합니다. (0) | 2020.10.27 |
Tomcat / Java WebApps에서 HttpOnly 쿠키를 어떻게 구성합니까? (0) | 2020.10.27 |
오류 : JDWP는 JNI 1.2 환경을 가져올 수 없습니다. (0) | 2020.10.27 |
사용되지 않는 API를 클라이언트에 알리기위한 HTTP 응답 헤더에 대한 규칙 (0) | 2020.10.27 |