developer tip

Kotlin에서 빈 배열을 만드는 방법은 무엇입니까?

copycodes 2020. 11. 27. 08:20
반응형

Kotlin에서 빈 배열을 만드는 방법은 무엇입니까?


Array(0, {i -> ""})현재 사용 하고 있으며 다음과 같은 더 나은 구현이 있는지 알고 싶습니다.Array()

또한을 사용 arrayOfNulls<String>(0) as Array<String>하는 경우 컴파일러는이 캐스트가 결코 성공할 수 없다는 경고를 보냅니다. 그러나 내부의 기본 구현 Array(0, {i -> ""})입니다. 내가 뭔가를 놓친 건가요?


늦게 (2015 년 6 월) Kotlin 표준 라이브러리 기능이 있습니다.

public fun <T> arrayOf(vararg t: T): Array<T>

따라서 빈 문자열 배열을 만들려면 다음과 같이 작성할 수 있습니다.

val emptyStringArray = arrayOf<String>()

참고로 emptyArray. 예를 들면

var arr = emptyArray<String>()

보다


비어 있거나 null? 그게 질문입니다!

의 배열을 만들려면 null간단히 arrayOfNulls<Type>(length).


그러나 size 배열 을 생성 length하려면 다음을 사용하십시오.

val arr = Array(length) { emptyObject }

메모는 당신이 해야한다 정의emptyObject (원하지 않는 beacause를 각 유형마다 제대로을 null들). 예. 대한 String의, emptyObject수 있습니다 "". 그래서:

val arr = Array(3) { "" }  // is equivalent for: arrayOf("","","")

다음실제 예 입니다. 프로그램은 기본적으로 두 개의 샘플 인수로 실행됩니다.


널 배열

var arrayString=Array<String?>(5){null}
var nullArray= arrayOfNulls<String>(5)

빈 배열을 만드는 두 가지 방법, 람다없이 두 번째 방법을 찾았습니다.

var arr = Array (0, { i -> "" })
var arr2 = array<String>()

Kotlin의 null 문자열에 대해서는 허용되지 않습니다. String 을 사용해야 합니까? 문자열이 널이되도록 허용하는 유형입니다.


사용하다:

@JvmField val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)

null 값으로 초기화 된 0 크기의 문자열 배열을 반환합니다.

1. 틀 렸습니다 :

@JvmField val EMPTY_STRING_ARRAY = emptyArray<String>()

그것은 반환 arrayOfNulls<String>(0)

2. 틀 렸습니다 :

 @JvmField val EMPTY_STRING_ARRAY = arrayOf<String>()

문자열을 포함하는 배열을 반환합니다.


위에서 언급했듯이 IntArray(size)또는 FloatArray(size).

참고 URL : https://stackoverflow.com/questions/29743160/how-to-create-a-empty-array-in-kotlin

반응형