Kotlin의 Java String[]과 동일
Kotlin에는 Java의 기본 데이터 유형 배열과 동일한 배열이 있습니다. 예를 들어 다음과 같습니다.
ByteArray
=byte[]
ShortArray
=short[]
IntArray
=int[]
CharArray
=char[]
DoubleArray
=double[]
FloatArray
=float[]
그러나 Kotlin은 Java의 String[]
에 대해 동일하지 않습니다. 따라서 Kotlin에는 StringArray[]
와 같은 것이 없습니다.
하지만 문자열 데이터 유형의 빈 배열을 만들고 싶다면 어떻게 해야 할까요? Kotlin에서는 어떻게 할까요?
이 기사에서 이러한 질문에 대한 답을 배울 것입니다. 그러나 그 전에 Kotlin에 StringArray[]
가 없는 이유를 이해해 봅시다.
Kotlin에서 StringArray[]
가 없는 이유
문자열이 JVM의 기본 데이터 유형이 아니기 때문에 Kotlin에는 StringArray[]
가 없습니다. 반대로 ByteArray[]
, ShortArray
, IntArray[]
등과 같은 배열 메서드가 있는 다른 유형은 원시적입니다.
기본 유형은 객체로 박싱한 후 저장됩니다. IntArray[]
등과 같은 특수 Kotlin 배열은 이러한 기본 데이터 유형을 개봉하고 보관합니다.
그러나 문자열은 기본 유형이 아니므로 특수 배열이 필요하지 않습니다. 따라서 Kotlin에는 StringArray[]
가 없습니다.
Kotlin 문자열 배열 만들기와 동일한 Java String[]
다른 방법을 사용하여 Kotlin에서 여전히 문자열 배열을 만들 수 있습니다. 이러한 모든 방법은 Kotlin에서 Java String[]
에 해당한다고 할 수 있습니다.
다음은 Kotlin에서 빈 문자열 배열을 만드는 다양한 방법입니다.
arrayOf<String>
을 사용하여 Kotlin에서 빈 배열 만들기
fun main(args: Array<String>) {
var myStringArray = arrayOf<String>()
}
arrayOf
를 사용하여 Kotlin에서 빈 배열 만들기
fun main(args: Array<String>) {
var myStringArray = arrayOf("", "", "")
}
Array<String?>
을 사용하여 Kotlin에서 빈 배열 만들기
fun main(args: Array<String>) {
var myStringArray = Array<String?>(5) { null }
}
Array<String>
을 사용하여 Kotlin에서 빈 배열 만들기
fun main(args: Array<String>) {
var myStringArray = Array<String>(5) { "it = $it" }
}
arrayOfNulls<String>
을 사용하여 Kotlin에서 빈 배열 만들기
fun main(args: Array<String>) {
var myStringArray = arrayOfNulls<String>(5)
}
빈 배열 외에도 동일한 구문을 사용하여 초기화된 배열을 만들 수도 있습니다. 초기화된 배열을 생성하는 동안 작동하지 않는 유일한 방법은 arrayOfNulls<String>
입니다.
arrayOf<String>
을 사용하여 Kotlin에서 빈 배열 만들기
다음은 arrayOf<String>
을 사용하여 초기화된 배열을 만드는 예입니다.
fun main(args: Array<String>) {
var myStringArray = arrayOf<String>("Hello", "Welcome", "to", "Kotlin", "Tutorials")
myStringArray.forEach {
println(it)
}
}
출력:
마찬가지로 arrayOf
, Array<String?>
및 Array<String>
을 사용하여 초기화된 Kotlin 문자열 배열을 만들 수 있습니다.
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