Путь разработчика    

Что такое перечисления Java и почему они полезны?

Рекомендуем: Что делать, если залило свечи зажигания
eda2480d

Содержание

Перечисление аналогично любому другому классу Java с предопределенным набором экземпляров. Это, в основном, тип данных, который позволяет описывать каждый элемент типа более читаемым и надежным способом, например, уровень температуры, такой как Высокий, Средний и Низкий.

Python

Главное преимущество Enum заключается в том, что он делает ваш код более явным, менее подверженным ошибкам и самодокументированным способом.

Когда следует использовать?

Вы можете использовать типы перечислений в любое время, когда вам нужно представлять фиксированный набор констант.

Вы можете использовать перечисления, когда переменная (особенно параметр метода) может принимать только один из небольшого набора возможных значений. Примерами могут быть такие дни, как дни недели (воскресенье, понедельник и т. Д.) Или направления (СЕВЕР, ЮЖНЫЙ, ВОСТОЧНЫЙ и ЗАПАД).

Вы можете использовать перечисление вместо класса, если класс должен иметь фиксированное количество перечислимых экземпляров.

Enum switch ... case Пример:

Вы также можете использовать тип перечисления в инструкции Java switch ... case. Вы можете использовать Enum в Java внутри оператора Switch, типа int или char примитивного типа данных.

Следующая программа показывает, как использовать Enum в switch ... case statement.

Python

Enum if ... else Пример:

Вы также можете использовать тип перечисления в инструкции Java if..else. Следующая программа показывает, как использовать Enum в выражении if..else.

Python

Enum for loop Пример:

В следующей программе Java показано, как использовать цикл Enum in for.

Python

Точки для запоминания для Java Enum

  1. Enum считается более безопасным по типу, чем константы. Одним из распространенных способов использования перечислений является предотвращение возможность недопустимого параметра.

Например, рассмотрим обычный метод, например:

Python

Вышеуказанный метод не только двусмыслен (начинаются дневные индексы с 1 или 0?), Но вы можете дать недопустимые недопустимые данные, например, больше 7 или отрицательные числа. Вместо этого, если у вас есть перечисление DAYS с воскресеньем, понедельником и т. Д., Подпись становится:

Python

Код, вызывающий этот метод, будет более читабельным и не может предоставлять неверные данные.

Использование enum над константами помогает с безопасностью типа, потому что если функция принимает перечисление, и вы передаете ему что-либо, кроме перечисления, компилятор будет жаловаться. С константами вы принимаете довольно большой диапазон данных, большинство из которых являются недопустимыми.

Использование enum над константами помогает с безопасностью типа, потому что если функция принимает перечисление, и вы передаете ему что-либо, кроме перечисления, компилятор будет жаловаться. С константами вы принимаете довольно большой диапазон данных, большинство из которых являются недопустимыми....

  1. Java.util.EnumSet & amp; Java.util.EnumMap: два класса были добавлены в Java.util для поддержки перечисления: EnumSet и EnumMap. Это высокопроизводительная реализация интерфейсов Set и Map соответственно.
  1. Все константы, определенные в перечислении, являются публичными статическими окончательными. Поскольку они являются статическими, к ним можно получить доступ через EnumName.instanceName.
  1. Перечисление может быть объявлено вне или внутри класса, но НЕ в методе.
  1. Добавление новых констант в Enum в Java легко и вы можете добавить новые константы, не нарушая существующие кода.

Источник: http://net-informations.com/Java/basics/enum.htm



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:


Как дать свойства индексатора по умолчанию для класса в C#

Свойство indexer является свойством, которое другой код может использовать внутри квадратных скобок для доступа к некоторому значению, предоставляемому кла...

21 06 2021 0:12:57

Создайте библиотеку кнопок XAML в C#

В этом примере показано, как можно создать библиотеку кнопок XAML с возможностью повторного использования в WPF. Пример Создание шаблона кнопки WPF в C# ис...

20 06 2021 5:48:55

Секреты профессиональной работы с «1С:Бухгалтерией 8». БАНК и КАССА (С. Харитонов , Д. Чистов)

В книге " Секреты профессиональной работы с «1 С: Бухгалтерией 8». Б А Н К и К А С С А" рассматривается порядок учета банковских и кассовых операций, расчетов с подо...

19 06 2021 3:13:44

Возможности Python

Важные функции Python: Язык начинающего Простой и легкий в изучении Интерпретированный язык Межплатформенный язык Свободный и открытый источник Объектно-ор...

18 06 2021 12:23:48

Язык программирования Python (Д.С.Откидач)

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высок...

17 06 2021 7:21:43

Как сохранить изображение экрана компьютера в файле в C#

Вы можете сохранить изображение экрана компьютера с помощью метода CopyFromScreen объекта Graphics. Следующий метод GetScreenImage использует CopyFromScree...

16 06 2021 6:43:27

Почему Java не является чисто объектно-ориентированным языком?

Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объек...

15 06 2021 4:11:15

Почему мне нужно переопределить методы equals и hashCode в Java?

В Java каждый объект имеет доступ к методу equals(), поскольку он наследуется от класса Object. Если два объекта равны в соответствии с методом equals (Obj...

14 06 2021 6:46:48

PHP. Объекты, шаблоны и методики программирования, 4-е издание (Мэт Зандстра)

Четвертое издание книги было пересмотрено и дополнено новым материалом. Книга начинается с обзора объектно-ориентированных возможностей PHP, в который вклю...

13 06 2021 23:58:11

Нарисуйте текст на кривой в C#

Пример Нарисуйте текст в сегменте линии в C# показывает, как рисовать текст, следующий за сегментом линии. В этом примере этот код используется для рисован...

12 06 2021 13:17:13

Как записать write() в файл Python

После изучения того, как открыть и закрыть файл в Python , откройте файл, тогда мы напишем в него случайный текст с помощью метода write() . Чтобы записать...

11 06 2021 17:16:58

Используйте массив управления в C#

Иногда бывает полезно использовать массив управления. Еще до .NET, Visual Basic позволяет определять массивы управления во время разработки. Концепция исче...

10 06 2021 16:12:52

Найти, открыть и заменить текст в файлах на C#

Пример Поиск файлов и замена текста в их в C# показывает, как вы можете найти и заменить текст в файлах. В этом примере вы можете открыть открытые файлы, д...

09 06 2021 10:39:59

Отображение контекстного меню для элементов TreeView в C#

В этом примере отображаются различные контекстные меню при щелчке правой кнопкой мыши на разных типах узлов в элементе управления TreeView. В этом примере...

08 06 2021 0:17:58

Новая большая книга CSS (Дэвид Макфарланд)

Технология CSS3 позволяет создавать профессионально оформленные сайты, но тонкости этого языка могут оказаться довольно сложными даже для опытных веб-разра...

07 06 2021 20:20:43

Исключения в Java

Исключение - это событие, которое происходит во время выполнения программы, что нарушает нормальный поток инструкций программы. Он обеспечивает способ пере...

06 06 2021 5:43:52

Разница между String и StringBuffer / StringBuilder в Java

Здесь String неизменен, означает, что вы не можете изменить сам объект, но вы можете изменить ссылку на объект, тогда как StringBuffer и StringBuilder явля...

05 06 2021 14:17:51

Получаем размер шрифта в пикселях в C#

Одна странность класса Font заключается в том, что его свойство « Размер» возвращает размер шрифта в единицах, которые использовались для создания шрифта. С...

04 06 2021 13:32:47

Класс FileReader в Java

FileReader - это характерно-ориентированный класс, который используется для обработки файлов в Java. Он предназначен для чтения потоков символов. Один симв...

03 06 2021 11:23:37

Используйте всплывающие подсказки в C#

Чтобы создать всплывающие подсказки во время разработки, добавьте компонент ToolTip в форму. Он добавляет новое свойство для каждого из других элементов уп...

02 06 2021 22:22:43

Нарисуйте кривую с отрицательным напряжением в C#

Сообщение Нарисуйте кривую с разной напряженностью в C# использует метод Graphics класса DrawCurve класса для рисования набора кривых с разными напряжениям...

01 06 2021 3:29:25

Что такое скрипт Bash?

Сценарий Bash - это простой текстовый файл, содержащий ряд команд.  Эти команды представляют собой смесь команд, которые мы обычно будем вводить в командной строке...

31 05 2021 7:12:48

Как избежать использования данных класса, совместно используемых экземплярами в Python?

Атрибуты класса - это атрибуты, которые принадлежат самому классу. Они будут использоваться всеми экземплярами класса. Поэтому они имеют одинаковое значени...

30 05 2021 16:55:19

1С:Предприятие. Конфигурирование и администрирование для начинающих (Владимир Дубянский)

В книге 1 С: Предприятие. Конфигурирование и администрирование для начинающих описаны основные приемы программирования и конфигурирования, общие для всех ком...

29 05 2021 6:30:58

HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера, 4-е издание (Николай Прохоренок, Владимир Дронов)

Рассмотрены вопросы создания интерактивных Web-сайтов с помощью Н ТML, Javascript, PHP и MySQL, форматирования Web-страниц при помощи CSS. Даны основы Р Н Р и...

28 05 2021 23:54:55

Создайте DataTable и привяжите его к DataGridView в C#

В этом примере показано, как можно построить DataTable и привязать его к элементу управления DataGridView. A DataTable представляет собой представление в р...

27 05 2021 3:42:28

Отображение диалога выбора шрифта с кнопкой Apply в C#

Иногда приложение отображает диалоговое окно выбора шрифта с кнопкой Apply. Если вы нажмете эту кнопку, приложение покажет, как это будет выглядеть, если в...

26 05 2021 7:42:15

Почему множественное наследование не поддерживается в Java

Это просто устранить двусмысленность, поскольку множественное наследование может вызвать двусмысленность вокруг проблемы Diamond в нескольких сценариях. На...

25 05 2021 1:41:55

Разделить файлы изображений в C#

В этом примере показано, как можно разделить файлы изображений на более мелкие фрагменты. Недавно мне нужны отдельные файлы растровых изображений для значк...

24 05 2021 11:40:47

Нарисуйте линии с торцевыми крышками в C#

Свойства Pen класса StartCap и EndCap определяют, как линия рисует свои концевые колпачки. В этом примере используется следующий код для создания образцов...

23 05 2021 0:20:58

Что такое виртуальная машина Java?

Java Virtual Machine (JVM) - это спецификация, предоставляющая среду выполнения, в которой может быть запущен Java-байт-код. Как следует из названия, JVM д...

22 05 2021 1:45:39

Класс BufferedWriter в Java

Класс BufferedWriter обладает функциональностью записи буферов символов в файл. Он расширяет Writer, который является абстрактным классом для записи потоко...

21 05 2021 22:19:45

Разница между Java и JavaScript?

Хотя оба имеют похожие имена, оба являются двумя совершенно разными языками программирования. Java - это полнофункциональный, универсальный, язык программи...

20 05 2021 17:54:40

Почему мне нужно переопределить методы equals и hashCode в Java?

В Java каждый объект имеет доступ к методу equals(), поскольку он наследуется от класса Object. Если два объекта равны в соответствии с методом equals (Obj...

19 05 2021 21:39:58

Уникальные слова в файле Microsoft Word в C#

Этот пример является модификацией более раннего сообщения Перечислить уникальные слова в файле Microsoft Word на C# . Эта программа считывает слова в текст...

18 05 2021 9:12:47

Полностью обосновать абзацы текста в C#

Класс StringFormat делает его достаточно простым для выравнивания по левому краю, выравнивания по правому краю или центровки строки текста, но, как ни стра...

17 05 2021 0:27:29

Выделение эллипса в программе WPF с использованием C#

В этом примере показано, как вы можете визуализировать эллипс в программе WPF. Обычно для рисования фигур в WPF вы используете какой-то объект. Вы можете д...

16 05 2021 16:21:46

Программирование на Java

Сокет - одна из самых фундаментальных технологий программирования компьютерной сети. Это способ подключения двух узлов в сети для связи друг с другом. Прог...

15 05 2021 3:36:24

Математические функции Python

Функции могут делать что угодно, но их основной шаблон использования принимает параметры и возвращаемые значения . Математический модуль предоставляет неко...

14 05 2021 22:26:54

Список языков, которые вы можете компилировать во время выполнения в C#

Пример Запуск введенного пользователем кода в C# показывает как позволить пользователю вводить код C#, компилировать во время выполнения и выполнять резуль...

13 05 2021 12:15:43

Как открыть файл PDF в C#

Во время разработки я добавил в форму элемент WebBrowser. Когда программа запускается, он использует следующий код для открытия PDF-файла в элементе управл...

12 05 2021 16:37:55

Что такое классы-оболочки в Java

Как сказано в названии, класс-оболочка обертывает (охватывает) вокруг типа данных и дает ему вид объекта. Они используются для преобразования любого примит...

11 05 2021 11:19:43

Python. Карманный справочник (Марк Лутц)

Этот краткий справочник по Python карманного типа обновлен с учетом версий 3.4 и 2.7 и очень удобен для наведения быстрых справок в процессе разработки про...

10 05 2021 10:44:42

1С:Предприятие 8.0: Приемы программирования (Всеволод Несвижский)

Книга 1 С: Предприятие 8.0: Приемы программирования полностью построена на реальных примерах и задачах, решаемых 1 С-программистами в повседневной работе. Пре...

09 05 2021 15:26:50

Преобразование между корпусом Паскаля, верблюжьим футляром и правильным корпусом в C#

В этом примере используются методы расширения строк для преобразования строк между корпусом Pascal, верблюжьим футляром и правильным случаем. В случае Pasc...

08 05 2021 0:54:58

Как сделать метафайл в C#

Пример Отображение метафайла Windows (wmf) в C# < / a> объясняет, как отображать метафайл и почему метафайлы могут давать лучшие результаты, чем растровые...

07 05 2021 8:22:29

Используйте SQL-запросы для отображения данных master-detail в C#

В этом примере SQL-запросы запрашивают данные master-detail только тогда, когда это необходимо. В течение довольно долгого времени .NET-ish способ манипули...

06 05 2021 23:49:17

Ceкpeты JavaScript ниндзя (Джон Реэиг, Беэр Бибо)

Книга Секреты Javascript ниндзя раскрывает секреты мастерства разработки веб-приложений на Javascript. В книге Секреты Javascript ниндзя уделяется немало в...

05 05 2021 4:26:25

Добавьте экран UAC для управления в C#

В Windows Vista и более поздних версиях Windows вы должны добавить экран UAC (контроль доступа пользователя) к кнопкам, запускающим процессы, требующие пов...

04 05 2021 12:48:43

Сделать свойство индексатора по умолчанию для класса в C#

Классы, такие как Dictionary и List предоставляют свойство индексатора по умолчанию, которое позволяет вам получать доступ к значениям, используя синтаксис...

03 05 2021 6:33:56

Еще:
Программирование -1 :: Программирование -2 :: Программирование -3 :: Программирование -4 :: Программирование -5 ::

И сказал Великий Программист:
«После трёх дней без программирования жизнь теряет смысл»