Kotlin 배열을 Java varargs로 변환


답변:


232

다음과 같은 스프레드 연산자 를 사용해야합니다. 스프레드 연산자*
는 배열 인수 앞에 배치되어야합니다.

antMatchers(*angularRoutings)

자세한 내용은 설명서를 참조하십시오 .

vararg-함수 를 호출 할 때 인수를 하나씩 전달할 수 있습니다 (예 :) asList(1, 2, 3)또는 이미 배열이 있고 그 내용을 함수에 전달하려는 경우 스프레드 연산자를 사용합니다 (배열 앞에를 붙임 *).

스프레드 연산자는 배열에 대해서만 정의되며 목록에서 직접 사용할 수 없습니다. 목록을 다룰 때 eg toTypedArray()를 사용 하여 배열로 변환하십시오.

 *list.toTypedArray()

그리고 다시 변환하는 방법?
lacas

@Iacas "다시 변환"이란 무엇을 의미합니까? A vararg는 개별 요소를 예상하며 *array"이 배열을 해당 목적을위한 개별 요소로 처리"하는 Kotlin 방식입니다. vararg-function 내에서 vararg매개 변수는 어쨌든 배열이됩니다. 개별 요소를 배열로 변환하려면을 사용할 수 arrayOf(...)있지만이 경우에는 필요하지 않습니다.
Dario Seidl 2018

3
이것은 매우 높은 성능 페널티를가집니다. sites.google.com/a/athaydes.com/renato-athaydes/posts/… 확인 Varargs 또는 medium.com/@BladeCoder/…
svkaka

확산 연산자 사용을 피하고 일부 배열 또는 목록을 수락하는 메서드에 전달하는 방법이 vararg있습니까?
Wackaloon

@DarioSeidl 의미 : 문자열의 varargs가 있고 문자열의 배열을 예상하는 함수에 전달하려면 어떻게해야합니까?
안드로이드 개발자
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.