"정화" Kotlin 개발자가 런타임에 클래스와 관련된 정보에 액세스하는 데 도움이 되는 특수한 유형의 키워드입니다. "정화" 인라인에서만 사용할 수 있습니다. 기능. "신체화"할 때 키워드가 사용되면 컴파일러는 함수의 바이트 코드를 함수가 호출된 코드의 모든 섹션에 복사합니다. 이런 식으로 제네릭 유형 T는 인수로 얻는 값의 유형에 할당됩니다.
예시
이 예에서 우리는 "물화"하는 방법을 볼 것입니다. 전달되는 인수에 관계없이 코드를 재사용하고 동일한 기능을 사용하여 유사한 종류의 작업을 수행하는 데 도움이 됩니다.
이 예에서는 인라인 함수를 만들고 일반 "reified" 인수 T 및 main() Kotlin에서는 myExample()을 호출합니다. 다른 인수로 여러 번.
// Declaring Inline function inline fun <reified T> myExample(name: T) { println("\nName of your website -> "+name) println("\nType of myClass: ${T::class.java}") } fun main() { // calling func() with String myExample<String>("www.tutorialspoint.com") // calling func() with Int value myExample<Int>(100) // calling func() with Long value myExample<Long>(1L) }
출력
다음 출력을 생성합니다 -
Name of your website -> www.tutorialspoint.com Type of myClass: class java.lang.String Name of your website -> 100 Type of myClass: class java.lang.Integer Name of your website -> 1 Type of myClass: class java.lang.Long