Kotlin 변수 유형 확인
코드의 변수 데이터 유형을 알면 매우 유용할 수 있습니다. 예를 들어 올바른 데이터 유형으로 작업하고 변수에 올바른 함수를 사용하며 코드 효율성을 개선하는 데 도움이 될 수 있습니다.
Java에서는 instanceOf
키워드를 사용하여 변수 데이터 유형을 찾을 수 있습니다. 마찬가지로 JavaScript에는 typeOf
키워드가 있지만 Kotlin은 어떻습니까?
이 문서에서는 다음을 포함하여 다양한 방법으로 Kotlin 변수 유형을 확인하는 방법을 설명합니다.
is
연산자qualifiedName
연산자
is
키워드를 사용하여 Kotlin 변수 유형 찾기
Kotlin에서 변수 유형을 찾는 첫 번째이자 가장 간단한 방법은 is
키워드를 사용하는 것입니다. 정확한 변수 유형을 제공하지는 않지만 유형을 확인할 수 있습니다.
is
키워드를 사용하여 변수 유형이 생각한 것과 동일한지 확인할 수 있습니다. 유형 변환에 이를 사용하여 올바른 데이터 유형을 변환하고 있는지 확인할 수 있습니다.
특정 데이터 유형 변수가 필요한 함수를 실행하는 데 사용할 수도 있습니다.
다음은 예입니다. is
키워드를 사용하여 변수의 데이터 유형을 찾습니다.
fun main() {
val variable = "Hey, there!"
if (variable is String) {
println("The variable is of a String type")
} else {
println("The variable is not of a String type")
}
}
if-else
블록과 함께 is
키워드를 사용하여 배열의 변수 유형을 확인할 수도 있습니다. 아래 프로그램은 다양한 데이터 유형의 변수 배열을 허용합니다.
그런 다음 if-else
블록을 사용하여 각 변수의 유형을 확인합니다.
fun main(args: Array<String>) {
var nameString = "Selena"
var ageInt = 27
var salDouble = 25000.95
val eDetails: List<Any> = listOf(nameString,ageInt,salDouble)
for(e in eDetails) {
if (e is String) {
println("First Name: $e")
} else if (e is Int) {
println("Age: $e")
} else if (e is Double) {
println("Salary: $e")
} else {
println("No such attribute found")
}
}
}
qualifiedName
키워드를 사용하여 Kotlin 변수 유형 찾기
Kotlin 변수 유형을 찾는 다른 방법은 qualifiedName
키워드를 사용하는 것입니다.
이 키워드는 Kotlin의 KClass
인터페이스 속성입니다. 클래스의 정규화된 이름을 반환합니다.
다음은 is
키워드를 보여주는 간단한 프로그램입니다. 프로그램은 변수를 받아 인쇄한 다음 변수 유형을 인쇄합니다.
fun main() {
val variable = "Hey, there!"
println(variable)
println(variable::class.qualifiedName)
}
출력에서 볼 수 있듯이 프로그램은 변수를 String
유형으로 올바르게 식별했습니다. 이제 변수를 정수로 바꾸고 프로그램이 여전히 변수를 감지하는지 살펴보겠습니다.
fun main() {
val variable = 13
println(variable)
println(variable::class.qualifiedName)
}
정규화된 이름이 아닌 변수 데이터 유형만 가져오려는 경우 qualifiedName
대신 simpleName
을 사용하여 가져올 수 있습니다.
둘 사이의 차이점은 simpleName
키워드는 데이터 유형의 단순 이름만 제공하고 클래스의 정규화된 이름은 제공하지 않는다는 것입니다. 아래 코드를 보시면 이해가 되실 겁니다.
fun main() {
val variable = 13
println(variable)
println(Int::class.simpleName)
}
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn