Преобразование статических переменных из Java в Kotlin

Я пытаюсь преобразовать следующий код в Kotlin И все еще есть один из классов (Foo), используемых Java. Как правильно сделать это преобразование?

Оригинальная Java:

public class Foo {
   public static final String C_ID = "ID";
   public static final String C_NAME = "NAME";
   public static final String[] VALUES = {"X", "Y", "Z"};

   public static String[] getAll() {
       return new String[] {C_ID, C_NAME};
   }
}

public class Bar {
    public void doStuff() {
        String var1 = Foo.C_ID;
        String[] array1 = Foo.VALUES;
        String[] array2 = Foo.getAll();
    }
}

Автоматическое преобразование Foo в Kotlin

object Foo {
    val C_ID = "ID"
    val C_NAME = "NAME"
    val VALUES = arrayOf("X", "Y", "Z")

    val all: Array<String>
        get() = arrayOf(C_ID, C_NAME)
}

Проблема:

Класс Bar больше не может получить доступ к C_ID или VALUES (ошибка: «частный доступ»)

если я поставлю "const" перед C_ID, это работает ... но я не могу сделать то же самое с VALUES ("const" может использоваться ТОЛЬКО на приматах или String)

Есть ли другой способ, которым я должен делать это (чтобы и код Java, и код Котлина могли получить доступ ко всему в Foo)?

Ответы на вопрос(4)

Ваш ответ на вопрос