Избегайте генерирования stati c экземпляра объекта в Kotlin - PullRequest
1 голос
/ 14 марта 2020

Допустим, у нас есть object, например

object MyConstants {
   const val ONE: String = "One"
}

Сгенерированный байт-код напоминает

public final class MyConstants {
   @NotNull
   public static final String ONE = "One";
   public static final MyConstants INSTANCE;

   private MyConstants() {}

   static {
      MyConstants var0 = new MyConstants();
      INSTANCE = var0;
   }
}

Есть ли способ избежать создания поля INSTANCE при сохранении та же схема кода? Это означает доступ к полям через класс как в Kotlin, так и в Java

MyConstants.ONE

1 Ответ

0 голосов
/ 16 марта 2020

попробуйте что-то вроде этого:

class MyConstants {
    companion object {
        const val ONE: String = "One"
    }
}

class Test {

    fun test(){
       System.out.println(MyConstants.ONE) 
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...