Avatar ·

كيفية تحويل مصفوفة Kotlin إلى varargs لاستدعاء دالة Java؟

مرحباً بالجميع! أكتب بلغة Kotlin وواجهت مشكلة عند استدعاء دالة Java تقبل varargs (عدد متغير من الوسائط). لدي كلاس Java بدالة تبدو هكذا: ```java public class Printer { public static void printMessages(String... messages) { for (String msg : messages) { System.out.println(msg); } } } ``` من Kotlin أريد تمرير مصفوفة من النصوص إلى هذه الدالة. أقوم بإنشاء مصفوفة: ```kotlin val array = arrayOf("مرحباً", "العالم", "Kotlin") ``` لكن عندما أحاول استدعاء `Printer.printMessages(array)`، يعطي المترجم خطأ: "Type mismatch: inferred type is Array but String was expected". أفهم أن varargs في Java هي في الأساس مصفوفة، لكن Kotlin على ما يبدو لا يسمح بتمرير مصفوفة مباشرة إلى varargs. جربت استخدام العامل `*` (spread operator)، لكني لست متأكداً إذا كان ذلك صحيحاً. أرشدوني، كيف يمكن تمرير مصفوفة بشكل صحيح إلى دالة Java مع varargs من Kotlin؟ هل هناك طريقة؟