Avatar ·

معادل الحقول static final من Java في Kotlin: كيف نعلن الثوابت؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin بعد سنوات عديدة من الخبرة في العمل مع Java. في Java، كنت أستخدم غالباً الحقول static final للإعلان عن الثوابت، على سبيل المثال: ```java public class Constants { public static final int MAX_SIZE = 100; public static final String APP_NAME = "MyApp"; } ``` الآن أحاول نقل هذا الكود إلى Kotlin، لكنني لا أستطيع فهم كيفية الإعلان عن هذه الثوابت بشكل صحيح. لقد جربت خيارات مختلفة، لكن المترجم يعطي أخطاء أو تحذيرات. إليك ما جربته: ```kotlin class Constants { companion object { val MAX_SIZE = 100 val APP_NAME = "MyApp" } } ``` لكن قيل لي أن هذا ليس صحيحاً تماماً، لأن val هي مجرد مرجع غير قابل للتغيير، وليست ثابتة وقت الترجمة. كما سمعت عن التعليمة @JvmStatic، لكنني لست متأكداً متى يجب استخدامها. أرجو إرشادي، من فضلكم، حول كيفية الإعلان عن الثوابت في Kotlin بشكل صحيح لتكون معادلة لـ Java static final؟ هل يجب استخدام const؟