Articles of перечисления

Откуда приходит Enum.values ​​()?

Я просматривал документацию и исходный код, потому что я хотел быть уверенным, что values ​​() всегда будет возвращать массив в том порядке, в котором объявлены значения Enum. Оказывается, это не в документации, насколько я могу судить. Я проверил исходный код для класса Enum и не повезло ( есть связанный, частный метод getValues ). Поэтому я […]

Сделать Enum.toString () локализованным

Я разрабатываю приложение для Android, и я хочу знать, могу ли я установить Enum.toString() . Я собираюсь использовать этот Enum на Spinner и я хочу использовать многоязычные тексты. public class Types { public enum Stature { tall (0, "tall"), average(1, "average"), small(2, "small"); private final int stature; private final String statureString; Stature(int anStature, String anStatureString) […]

Когда использовать Enum / Int Constants

У меня вопрос, когда следует использовать Enum и когда мы должны использовать конечные константы? Я знаю, что это обсуждалось в Enums и Constants. Что использовать, когда? Хотя это вопрос C #. Мой вопрос в том, почему Android использует так много констант, а не Enum? Например, На мой взгляд, если мы используем константы, может быть риск, […]

Enum vs. Static Constants, объем памяти

Сначала ознакомьтесь с приведенной ниже цитатой из руководства разработчика Android: Для перечислений часто требуется более чем вдвое больше памяти, чем статические константы. Вы должны строго избегать использования перечислений на Android. Каждый класс Java (включая анонимные внутренние классы) использует около 500 байтов кода. https://developer.android.com/training/articles/memory.html Несмотря на зловещее предупреждение в первом пункте «строго избегать использования перечислений на […]

Set Value to Enum – Java

Я пытаюсь установить значения для перечисления в моем приложении java … но я не могу этого сделать. Я делаю это неправильно? public enum RPCPacketDataType { PT_UNKNOWN(2), PT_JSON(4), PT_BINARY(5) }; Это дает мне эту ошибку: конструктор RPCPacket.RPCPacketDataType (int) не определен.

Зачем использовать Enums вместо констант?

У меня есть сценарий, в котором у меня есть типы игроков ARCHER, WARRIOR и колдун. Что я должен использовать в классе игроков? Переменная String для типа или Enum? Зачем перечислять и почему Constant Strings. Пожалуйста, помогите с причинами.

Android: enum vs static final ints?

Каковы преимущества (или недостатки) наличия enum сравнении с набором static final int s в приложениях Java Android? Существуют ли эффективные или эффективные оптимизации, которые способствуют использованию того или другого? Я прошу об этом в контексте, например, requestCodes и т. Д., Которые, как правило, являются ints в коде образца Android, в отличие от значений из перечисления, […]

Как совместить int с перечислением

Я получаю возвращаемое значение в форме long или int из Native code на Android, которое я хочу преобразовать или сопоставить с перечислением для целей обработки. Является ли это возможным ? Как?

Должен ли я строго избегать использования перечислений на Android?

Я использовал для определения набора связанных констант, таких как ключи Bundle в интерфейсе, как показано ниже: public interface From{ String LOGIN_SCREEN = "LoginSCreen"; String NOTIFICATION = "Notification"; String WIDGET = "widget"; } Это дает мне более удобный способ группировать связанные константы вместе и использовать их, делая статический импорт (не реализует). Я знаю, что Android также […]

Почему Android не использует больше перечислений?

Мне очень понравилось использовать C # и Java перечисления в моем коде по нескольким причинам: Они гораздо безопаснее типов, чем целые числа, строки или наборы логических флагов. Они приводят к более читаемому коду. Труднее установить перечисление на недопустимое значение, чем int или string. Они позволяют легко обнаружить допустимые значения для переменной или параметра. Все, что […]