Читаем Java 7 полностью

Как вы убедились из приведенных примеров, настраиваемые типы и методы допускают сложную структуру параметров, так же как и вложенные классы. Мы еще не касались вопросов наследования настраиваемых типов, реализации настраиваемых интерфейсов, создания массивов настраиваемых типов. Все эти вопросы подробно рассмотрены на сайте Анжелики Лангер (Angelika Langer), в ее Java Generics FAQ, http:// www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html.

Класс Boolean


Это очень небольшой класс, предназначенный главным образом для того, чтобы передавать логические значения в методы по ссылке.

Конструктор Boolean (String s) создает объект, содержащий значение true, если строка s равна "true" в произвольном сочетании регистров букв, и значение false — для любой другой строки.

Статический метод valueOf(boolean b) позволяет получить объект класса Boolean из значения примитивного типа boolean.

Пользуясь автоматической упаковкой, можно определение

Boolean b = new Boolean("true");

или

Boolean b = Boolean.valueOf(true);

сократить до

Boolean b = true;

Метод booleanValue () возвращает логическое значение, хранящееся в объекте.

Статический метод parseBoolean(String s) возвращает значение true, если строка s равна "true" в произвольном сочетании регистров букв, и значение false — для любой другой строки.

Класс Character


В этом классе собраны статические константы и методы для работы с отдельными символами.

Статический метод

digit(char ch, in radix);

переводит цифру ch системы счисления с основанием radix в ее числовое значение типа

int.

Статический метод

forDigit(int digit, int radix);

выполняет обратное преобразование целого числа digit в соответствующую цифру (тип char) в системе счисления с основанием radix.

Основание системы счисления должно находиться в диапазоне от Character.MIN_RADIX до Character.MAX RADIX.

Метод toString () переводит символ, содержащийся в классе, в строку с тем же символом.

Статические методы toLowerCase(), toUpperCase(), toTitleCase() возвращают символ, содержащийся в классе, в указанном регистре. Последний из этих методов предназначен для правильного перевода в верхний регистр четырех кодов Unicode, не выражающихся одним символом.

Статический метод

getName(int code);

возвращает полное Unicode-имя символа по его коду code.

Множество статических логических методов проверяют различные характеристики символа, переданного в качестве аргумента метода:

□ isDefined () — выясняет, определен ли символ в кодировке Unicode;

□ isDigit () — проверяет, является ли символ цифрой Unicode;

□ isIdentifierIgnorable () — выясняет, нельзя ли использовать символ в идентификаторах;

□ isISOControl () — определяет, является ли символ управляющим;

□ isBmpCodePoint () — определяет, лежит ли код символа в диапазоне \u0000-\uFFFF;

□ isSupplementaryCodePoint () — определяет, что код символа больше \uFFFF;

□ isJavaIdentifierPart ( ) - выясняет, можно ли использовать символ в идентифика

торах;

□ isJavaIdentifierStart () — определяет, может ли символ начинать идентификатор;

□ isLetter () — проверяет, является ли символ буквой Java;

□ isLetterOrDigit () — проверяет, является ли символ буквой или цифрой Unicode;

□ isLowerCase () — определяет, записан ли символ в нижнем регистре;

□ isSpaceChar () — выясняет, является ли символ пробелом в смысле Unicode;

□ isTitleCase () — проверяет, является ли символ титульным;

□ isUnicodeIdentifierPart ( ) - выясняет, можно ли использовать символ в именах

Unicode;

□ isUnicodeIdentifierStart () — проверяет, является ли символ буквой Unicode;

□ isUpperCase () — проверяет, записан ли символ в верхнем регистре;

□ isWhitespace () — выясняет, является ли символ пробельным.

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

Листинг 4.5 демонстрирует использование этих методов, а на рис. 4.3 показан вывод этой программы.

Листинг 4.5. Методы класса Character в программе CharacterTest

class CharacterTest{

public static void main(String[] args){

char ch = ’9’;

Character cl = Character.valueOf(ch);

System.out.println("ch = " + ch);

System.out.println("c1.charValue() = " + cl.charValue());

System.out.println("number of ’A’ = " + Character.digit('A', 16));

System.out.println("digit for 12 = " +

Character.forDigit(12, 16));

System.out.println("c1 = " + c1.toString());

System.out.println("ch isDefined? " +

Character.isDefined(ch));

System.out.println("ch isDigit? " +

Character.isDigit(ch));

System.out.println("ch isIdentifierIgnorable? " + Character.isIdentifierIgnorable(ch));

System.out.println("ch isISOControl? " + Character.isISOControl(ch));

System.out.println("ch isJavaIdentifierPart? " + Character.isJavaIdentifierPart(ch));

System.out.println("ch isJavaIdentifierStart? " + Character.isJavaIdentifierStart(ch)) ;

System.out.println("ch isLetter? " + Character.isLetter(ch));

System.out.println("ch isLetterOrDigit? " + Character.isLetterOrDigit(ch));

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT