Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 65467
Модуль Forms 65224
Пример работы с... 64769
ТЕХНОЛОГИИ ДОСТ... 61928
Имитационное мо... 57799
Реклама
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

Пользователей: 13,086
новичок: Hamelion
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Калькулятор на Delphi с переводом в другую систему исчисления + Блок схемы
Расчет мер близости на отношениях на Delphi + Пояснительная записка
Моделирование работы аэропорта на GPSS + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Перечислимые типы, наследующие тип enum
protected final Object clone() throws
CloneNotSupportedException


Вызов этого метода приводит к генерации исключения типа CloneNotSupportedException. Это препятствует клонированию перечислимых типов

final int compareTo (E e)

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

final boolean equals(Object obj)

возвращает true, если вызывающий объект и переменная obj ссылаются на одну и ту же константу

final Class getDeclaringClass()

Возвращает перечислимый тип, членом которого является вызывающая константа

Вы можете получить порядковый номер константы перечислимого типа в списке констант. Его называют порядковым значением (ordinal value) и извлекают с помощью вызова метода ordinal(). Нумерация констант в списке начинается с 0. Таким образом, в перечислимом типе Apple у константы Jonathan нулевое порядковое значение, у константы GoldenDel оно равно 1, а у константы RedDel — 2 и т.д.
Существует возможность сравнения двух констант одного и того же перечислимого типа с помощью метода compareTo(), его сигнатура повторена в следующей строке:
final int compareTo (E e)
Важно понять, что и константа, вызывающая метод, и сравниваемая с ней константа должны принадлежать одному перечислимому типу. Если это условие нарушено, возникает ошибка на этапе компиляции. Если порядковое значение константы, вызывающей метод, меньше, чем у константы е, метод compareTo() вернет отрицательное значение. Если обе константы равны, метод возвращает 0. Если же порядковое значение у вызывающей метод константы больше, чем у константы е, возвращается положительное значение.
С помощью метода equals (), перегружающего метод equals() класса Object, Вы можете проверить равенство константы перечислимого типа любому другому объекту. Хотя метод способен сравнивать константу с объектом любого типа, равными будут считаться два объекта, ссылающиеся на одну и ту же константу в одном и том же перечислимом типе. В общем, если у двух констант одинаковые порядковые значения, но константы принадлежат разным перечислимым типам, метод equals() не вернет значение true.
Напоминаю о том, что Вы также можете проверять равенство двух констант с помощью операции = =.
Приведенная в листинге 6.5 программа демонстрирует применение методов ordinal(), compareTo() и equals () .

Листинг 6.5. Демонстрация методов ordinal(), compareTo() и equales()
enum Apple {
Jonathan, GoldenDel, RedDel, Winsap, Cortland
}
class EnumDemo4 {
public static void main(String args[])
{
Apple ap, ap2, ap3;

// Obtain all ordinal values using ordinal().
System.out.println("Here are all apple constants" +
" and their ordinal values: ");
for(Apple a : Apple.values())
System.out.println(a + " " + a.ordinal());

ap = Apple.RedDel;
ap2 = Apple.GoldenDel;
ap3 = Apple.RedDel;

System.out.println();

// Demonstrate compareTo() and equals()
if(ap.compareTo(ap2) < 0)
System.out.println(ap + " comes before " + ap2);

if(ap.compareTo(ap2) > 0)
System.out.println(ap2 + " comes before " + ap);

if(ap.compareTo(ap3) == 0)
System.out.println(ap + " equals " + ap3);

System.out.println();

if(ap.equals(ap2))
System.out.println("Error!");

if(ap.equals(ap3))
System.out.println(ap + " equals " + ap3);

if(ap == ap3)
System.out.println(ap + " == " + ap3);
}
}



Далее приведен вывод результатов работы программы из листинга 6.5:
Here are all apple constants and their ordinal values:
Jonathan 0
GoldenDel 1
RedDel 2
Winsap 3
Cortland 4
GoldenDel comes before RedDel
RedDel equals RedDel
RedDel equals RedDel
RedDel == RedDel




Опубликовал Kest January 13 2009 13:31:00 · 0 Комментариев · 7617 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Text effect
PRNDbgrid
VFW
ATComponents
Gold Submitter II...
Длинный заголовок...
Win-Prolog 3.618
Мод "проверочный ...
EditNew
Handles
Правила программи...
PDJ Scrollers
С/C++ Программиро...
«Философия» прогр...
BDEPack
IMtale
Функции Visual Basic
Открытие Cd-ROM'a...
WordReport
SysInfo [Исходник...

Топ загрузок
Приложение Клие... 100470
Delphi 7 Enterp... 87111
Converter AMR<-... 20078
GPSS World Stud... 12865
Borland C++Buil... 11849
Borland Delphi ... 8609
Turbo Pascal fo... 7039
Visual Studio 2... 4999
Калькулятор [Ис... 4806
FreeSMS v1.3.1 3542
Случайные статьи
Ограничения, связа...
File: are not allo...
годовую подписку н...
Операции на серверах
БЛОКИ, СВЯЗАННЫЕ С...
Конструктор Remote...
Банкетные стулья К...
Переход в графичес...
Страница управлени...
Арифметические выр...
Упорядочить по воз...
Где NT хранит пароли
Invalid floating-p...
Вторая нормальная ...
«Бегун» про контек...
Как выключить/пере...
кол источника исто...
• При определении ...
Рекурсивные методы...
Общая информация о...
Зачем нужно исчисл...
Определение систем...
Предотвратить реги...
Упорядочение Массива
Применяйте AsyBEUI...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?