Kotlin Dizisini Java değişkenlerine dönüştürme


Yanıtlar:


233

Aşağıdaki gibi görünen yayılma işlecini kullanmalısınız : *
Yayılma işlecinin dizi bağımsız değişkeninin önüne yerleştirilmesi gerekir:

antMatchers(*angularRoutings)

Daha fazla bilgi için belgelere bakın :

Bir vararg-işlev çağırdığımızda , bağımsız değişkenleri birer birer iletebiliriz, örneğin asList(1, 2, 3), eğer zaten bir dizimiz varsa ve içeriğini işleve geçirmek istiyorsak, yayılma operatörünü kullanırız (dizinin öneki ile *):

Yayılma operatörünün yalnızca diziler için tanımlandığını ve bir listede doğrudan kullanılamayacağını lütfen unutmayın. Bir liste ile uğraşırken, örneğin toTypedArray()onu bir diziye dönüştürmek için kullanın:

 *list.toTypedArray()

Ve nasıl geri dönüştürülür?
lacas

@Iacas "Geri dönüştür" ile ne demek istiyorsun? A vararg, tek tek öğeleri bekler ve *arrayKotlin'in "bu diziyi bu amaç için ayrı öğeler olarak ele al" demenin yoludur. İçinde varargtaşımasının avantajlı varargparametresi bir dizi yine olacaktır. Tek tek öğeleri bir diziye dönüştürmek için kullanabilirsiniz arrayOf(...), ancak bu durumda buna ihtiyacınız yoktur.
Dario Seidl

3
Bunun çok yüksek bir performans cezası olduğunu unutmayın. sites.google.com/a/athaydes.com/renato-athaydes/posts/… Varargs'ı kontrol edin veya medium.com/@BladeCoder/…
svkaka

Yayılma operatörünü kullanmaktan kaçınmanın ve bazı dizileri veya listeyi kabul eden bir yönteme iletmenin bir yolu var varargmı?
Wackaloon

@DarioSeidl Bu şu anlama gelir: Ya dizge dizilerimiz varsa ve dizelerden oluşan bir dizi bekleyen bir işleve geçmek istiyorsak?
android geliştiricisi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.