Навигация
Главная
Поиск
Форум
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
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

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

База данных студентов на Turbo Pascal (Списки) + Пояснительная записка
Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...
База данных междугородних телефонных разговоров на Delphi

Перечислимые типы, наследующие тип 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 10:31:00 · 0 Комментариев · 8348 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
PHP: обучение на ...
Запрет гостям ск...
FatScrollbar
База данных: Книж...
DelTrayIcon [Исхо...
Генетический алго...
PHP: настольная к...
Профессиональное ...
Delphi. Учимся на...
Шейдеры в Delphi
Панель Календарь
Просмотр файлов и...
около 291 статьи ...
UmEdit
PDJ Scrollers
PDJPack
Программа для рис...
Battle.Net - мони...
Книга по Delphi (...
С/C++ Программиро...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97832
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10290
Turbo Pascal fo... 7373
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
В меню DVD выберит...
Отладка CGI-скрипт...
ГЕОТЕРМАЛЬНЫЕ РЕСУРСЫ
Отображение параме...
Приведение типов
Как копировать лис...
Копирование и удал...
TRACE (НАЧАТЬ ТРАС...
Практика
Новый клиент Outlo...
На компьютерах кли...
Контейнеры и насле...
Программа подписыв...
универсальной груп...
Средства системы O...
Смена пользователя
Взаимодействие с о...
Выбор VPN для начи...
2.6.1. Успешное д...
Поиск решения на г...
Что такое Vds-сервер
Стандарт Dect
Игры. Интернет-пон...
Как решать задачи ...
Игровые автоматы и...
Статистика



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


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