Java 関数があります:
public static void initialize(@NonNull Activity activity, Settings... settings) {}
kotlin から呼び出したい:
fun initialize(activity: Activity, vararg settings: settings) = JavaClass.initialize(activity, settings)
しかし、コンパイルできず、型の不一致があり、Settings
必須であるが引数がkotlin.Array<out Settings>
署名と一致させようとしているのがわかります
public static void initialize(@NonNull Activity activity, Settings settings) {}
でも使いたい
public static void initialize(@NonNull Activity activity, Settings[] settings) {}
ベストアンサー1
次の構文を使用する必要があります。
fun initialize(activity: Activity, vararg settings: settings) =
JavaClass.initialize(activity, *settings)
https://kotlinlang.org/docs/reference/java-interop.html#java-varargs