Главная страница

Java. Полное руководство. 8-е издание. С. Н. Тригуб Перевод с английского и редакция


Скачать 25.04 Mb.
НазваниеС. Н. Тригуб Перевод с английского и редакция
АнкорJava. Полное руководство. 8-е издание.pdf
Дата28.02.2017
Размер25.04 Mb.
Формат файлаpdf
Имя файлаJava. Полное руководство. 8-е издание.pdf
ТипДокументы
#3236
страница33 из 90
1   ...   29   30   31   32   33   34   35   36   ...   90

CharSequence, который реализует класс Требует, чтобы размер символьного буфера вызывающего объекта был уменьшен для лучшего соответствия текущему содержимому___________________________
В следующей программе демонстрируется применение методов indexOf
(! и lastlndexOf().
class IndexOfDemo {
public static void main(String a r g s []) {
StringBuffer sb = new StringBuffer("one two one");
int i ;
i = Индекс первого вхождения " + i);
i = Индекс последнего вхождения " + Вывод будет таким.
Индекс первого вхождения О Индекс последнего вхождения:
Класс Появившейся в JDK 5 класс
StringBuilder
— это дополнение к существующим возможностям обработки строк Java. Класс
StringBuilder идентичен классу
StringBuffer, за исключением одного важного отличия он не синхронизирована значит, не является безопасным в отношении потоков. Выгода от применения класса
StringBuilder связана с более высокой производительностью. Однако в случаях, когда к изменяемой строке обращаются несколько потоков и не используется никакой внешней синхронизации, следует использовать класса не класс
StringBuilder.

ГЛАВА
ш
Пакет
j a v a . la n Настоящая глава посвящена классами интерфейсам, определенным в пакете java. lang. Как вызнаете, пакет java. lang автоматически импортируется вовсе программы. Он содержит классы и интерфейсы , которые являются фундаментальными для всех программ на языке Java. Это наиболее широко используемый пакет Java. Пакет j ava.
lang включает следующие классы r o c e s s B u i l d e r .

Redirect
StringBuilder
C h a r a c t e r .Subset
Integer
Runtime
System
C h a r a c t e r .
UnicodeBlock
Long
Runt imePermi
s
s i
on
Thread
Class
M Также определены два вложенных класса
Character: Character.
SubSet и В пакете j ava.
lang определены следующие интерфейсы.
Appendable
Cloneable
Readable
AutoCloseable
Comparable
Runnable
CharSequence
Iterable
Thread.UncaughtExceptionHandler
Некоторые классы, включенные в пакет java. lang, содержат устаревшие
(deprecated) методы, большинство из которых относится еще к Java 1.0. Эти устаревшие методы все еще предоставляются языком Java для поддержки постепенно отмирающего унаследованного кода и не рекомендуются для применения в новом коде. Большинство устаревших элементов существовало до версии JDK 7, и эти методы здесь не обсуждаются Зак. 303 0


4 1 8 Часть II. Библиотека Оболочки элементарных типов
Как упоминалось в части I настоящей книги, язык Java использует элементарные типы, такие как int и char, из соображений производительности. Эти типы данных не являются частью объектной иерархии. Они передаются по значению в методы и не могут быть переданы по ссылке. Также нет способа для двух методов ссылаться на один и тот же экземпляр типа int. Рано или поздно у вас возникнет необходимость в объектном представлении одного из элементарных типов. Например, существуют классы коллекций, описанные в главе 17, которые имеют дело только с объектами. Чтобы сохранить элементарный тип водном из этих классов, необходимо поместить элементарный тип в оболочку класса. Чтобы удовлетворить эту потребность, язык Java предлагает классы, которые соответствуют каждому элементарному типу. По сути, эти классы инкапсулируют элементарные типы в классы (или, что тоже самое, помещают элементарные типы в оболочки классов. Таким образом, их обычно называют оболочками типов. Оболочки типов были впервые представлены в главе 12. Здесь мы рассмотрим их более подробно.
Класс
N u m b e Абстрактный класс
Number
— это суперкласс, который реализуют классы, являющиеся оболочками для числовых типов byte, short, int, long, float и double. Класс
Number имеет абстрактные методы, которые возвращают значение объекта соответствующего числового типа. Например, метод doubleValue
() возвращает значение как типа метод float
Value
() как тип float и т.д. Эти методы перечислены ниже byteValue()

double doubleValue()
float floatValueO
int intValue()
long longValue()
short Значения, возвращаемые этими методами, могут быть округлены. Усечение также возможно.
Класс
Number имеет конкретные подклассы, которые содержат явные значения каждого числового типа
Double, Float, Byte, Short, Integer и Классы

D o u b l e и
F l o a Эти классы являются оболочками для значений с плавающей точкой типов double и float соответственно. Конструкторы класса
Float показаны ниже число число строка throws Как вы можете видеть, объекты класса
Float должны быть созданы со значениями типа float или double. Они могут также быть созданы из строкового представления числа с плавающей точкой.
Вот как выглядят конструкторы класса
Double.
Double(double число o u b l e (String строка Объекты класса
Double могут быть созданы из значения типа double или строки, содержащей значение с плавающей точкой
Глава 16. Пакет java.lang
4 1 Методы, определенные в классе
Float, описаны в табл. 16.1. Методы, определенные в классе
Double, перечислены в табл. 16.2. Классы
Float и
Double определяют следующие константы.
МАХ_ЕХ Максимальная экспонента Максимальное положительное значение Минимальная экспонента
Минимальное положительное нормальное значение Минимальное положительное значение Не число
Положительная бесконечность Отрицательная бесконечность Размер помещенного в оболочку значения в битах Объект класса
Class для типов
float и Таблица 16.1. Методы класса
Float
Метод
Описание
oyte b y t e V a l u e O
static int c o m p a r e (float число ,
float число t compareTo(Float f)
double d o u b l e V a l u e ()
boolean equals(Object объект Ро а Ь )
static int f l o a t T o I n t B i t s (float число число e ()

static float i n t B i t s T o F l o a t (int число)
Возвращает значение вызывающего объекта как тип Сравнивает значения числ о1
и число. Возвращает 0, если значения эквивалентны. Возвращает отрицательное значение, если числ о1
меньше число, и положительное — если число больше число2
Сравнивает числовое значение вызывающего объекта со значением Возвращает 0, если значения эквивалентны. Возвращает отрицательное значение, если вызывающий объект имеет меньшее значение. Возвращает положительное значение, если вызывающий объект имеет большее значение
Возвращает значение вызывающего объекта как тип Возвращает значение
true, если вызывающий объект класса
Float эквивалентен
o6beKTFloat.
В противном случае возвращает значение Возвращает совместимый с IEEE битовый шаблон одинарной точности, который соответствует число
Возвращает совместимый с IEEE битовый шаблон одинарной точности, который соответствует число.
Значения
NaN не допускаются
Возвращает значение вызывающего объекта как Возвращает хеш-код вызывающего объекта
Возвращает эквивалент
float совместимого с IEEE битового шаблона одинарной точности, который соответствует число

4 2 Часть II. Библиотека Окончание табл. 16.1

■»- -
да
Метод
Описание
int i n t V a l u e ()
b oo lean i s l n f i n i t e ( ]
s t a t i c b o o lean i s l n f i n i t e ( flo a t число lean i s N a N O
s t a t i c boo lea n i s N a N ( f l o a t число lo n g V a lu e ( )
s t a t i c fl o a t p a r s e F l o a t ( S t r i n g строка
NumberFormatException short s h o r t V a l u e ()
s t a t i c S t r i n g t o H e x S t r i n g ( fl o a t число t r i n g t o S t r i n g ()
s t a t i c S t r i n g t o S t r i n g ( f lo a t число t a t i c Float v a l u e O f ( f lo a t число t a t i c Float v a l u e O f (S t r i n g строка Возвращает значение вызывающего объекта как тип Возвращает значение true, если вызывающий объект содержит бесконечное значение. В противном случае возвращает значение f a l s Возвращает значение true, если число определяет бесконечное значение. В противном случае возвращает значение f a l s Возвращает значение true, если вызывающий объект содержит значение, которое не является числом. В противном случае возвращает значение f a l s Возвращает значение true, если число определяет значение, не являющееся числом. В противном случае возвращает значение f a l s Возвращает значение вызывающего объекта как тип Возвращает эквивалент типа f l o a t числа с основанием 10, содержащегося в строке
строка
Возвращает значение вызывающего объекта как тип Возвращает строку, содержащую значение число в шестнадцатеричном формате
Возвращает строковый эквивалент вызывающего объекта
Возвращает строковый эквивалент значения, представленного параметром
число
Возвращает объект
Float, содержащий значение, переданное параметром
число
Возвращает объект
Float, содержащий значение, представленное в строке
строка
Таблица 16.2. Методы класса
D o u b l Метод Описание 4 i —
J
* » '
b y t e b y t e V a l u e ()
s t a t i c i n t c o m p a r e ( d o u b le число число Возвращает значение вызывающего объекта как b y t Сравнивает значения число и число Возвращает 0, если значения эквивалентны. Возвращает отрицательное значение, если число меньше число Возвращает положительное значение, если число больше число Глава 16. Пакет java.lang

4 2 Продолжение табл. 16.2

int compareTo(Double d)
static long doubleToLongBits(double число long doubleToRawLongBits(double число doubleValue()
boolean equals(Object
объектБоиЫ
e)
float floatValue()
int hashcode() int intValue()
boolean islnfinitef)
static boolean islnfinite(double число isNaN()
static boolean isNaN(double число double longBitsToDouble(long число longValue()
static double parseDouble(String строка throws Сравнивает числовое значение вызывающего объекта с
d. Возвращает
0, если значения эквивалентны. Возвращает отрицательное значение, если вызывающий объект имеет меньшее значение. Возвращает положительное значение, если вызывающий объект имеет большее значение
Возвращает совместимый с IEEE битовый шаблон двойной точности, который соответствует параметру
число
Возвращает совместимый с IEEE битовый шаблон двойной точности, который соответствует параметру число Значения
NaN не допускаются
Возвращает значение вызывающего объекта как тип Возвращает значение true, если вызывающий объект класса
Double эквивалентен
объектБоиЫ
е
Возвращает значение вызывающего объекта как тип Возвращает хеш-код вызывающего объекта
Возвращает значение вызывающего объекта как тип Возвращает значение true, если вызывающий объект содержит бесконечное значение. В противном случае возвращает значение f a l s Возвращает значение true, если число определяет бесконечное значение. В противном случае возвращает значение f a l s Возвращает значение true, если вызывающий объект содержит нечисловое значение. В противном случае возвращает значение f a l s Возвращает значение true, если число определяет нечисловое значение. В противном случае возвращает значение f a l s Возвращает эквивалент типа double совместимого с IEEE битового шаблона, заданного параметром
число
Возвращает значение вызывающего объекта как тип Возвращает эквивалент типа double числа с основанием 10, содержащегося в строке
строка

4 2 Часть II. Библиотека Окончание табл. 16.2
Метод
Описание
i'dM -i-i


4
;
short shortValue()
static String toHexString(double число toString()
static String toString(double число Double valueOf(double число valueOf(String строка throws Возвращает значение вызывающего объекта как тип Возвращает строку, содержащую значение число в шестнадцатеричном формате
Возвращает строковый эквивалент вызывающего объекта
Возвращает строковый эквивалент значения, заданного параметром
число
Возвращает объект класса
Double, содержащий значение, переданное в параметре
число
Возвращает объект класса
Double, содержащий значение, переданное в строке
строка
В следующем примере создаются два объекта класса D o u b le — с использованием значения типа d o u b le и с использованием строки, которая может быть интерпретирована как тип d o u b le .
class DoubleDemo {
public static void main(String a r g s []) {
Double dl = new Do u b l e (3.14159);
Double d2 = new Do u b l e ("314159E-5");
System.out.println(dl + " = " + d2 + " -> " + d l Как можно заметить из следующего вывода, оба конструктора создают идентичные экземпляры класса D o u b le, что доказывает метод e q u a l s ( ) , возвращающий значение t r u e .
3.14159 = 3.14159 -> Методы
i s l n £ i n i t e ( ) H i s N a N Классы
Float и
Double предлагают методы islnf inite () и isNaN ()
, которые помогают манипулировать двумя специальными значениями типов double и float. Эти методы осуществляют проверку на предмет равенства двум уникальным значениям, определенным спецификациями стандарта IEEE для чисел с плавающей трчкой, — бесконечности и
NaN не число. Метод islnf inite
() возвращает значение true, если проверяемое число бесконечно велико или бесконечно мало по величине. Метод isNaN
() возвращает значение true, если проверяемое значение не является числовым.
В следующем примере создаются два объекта класса
Double: один содержит бесконечность, а второй — нечисловое значение Демонстрация применения islnfinite() и isNaN()

class InfNaN {
public static void main(String a r g s []) {
Double dl = new Do u b l e (1/0.);
Глава 16. Пакет java.lang
4 2 3
Double d2 = new Do u b l e (0 / 0 .);
System.out.println(dl + ": " + d l .islnfinite() + ", " +
d l .isNaN());
System.out.println(d2 + ": " + d 2 .islnfinite() + ", " +
d 2 Программа создает следующий вывод true, false
NaN: false, Классы
B y t e , S h o r t , I n t e g e r и
L o n Классы
Byte, Short, Integer и
Long
— это оболочки для целочисленных типов byte, short, int и long соответственно. Ниже показаны их конструкторы число строка NumberFormatException

Short(short число строка NumberFormatException
Integer(int число строка NumberFormatException
L o n g (1ong число строка Как видите, эти объекты могут быть созданы из числовых значений или строк, которые содержат допустимые представления числовых значений.
Методы, определенные этими двумя классами, показаны в табл. 16.3-16.6. Как вы можете видеть, они определяют методы для разбора целых чисел из строки преобразования строк обратно в целые числа. Вариации этих методов позволяют вам указать основание основание числа для преобразования. Чаще всего применяются, основание 2 — для двоичных чисел, 8 — для восьмеричных,
10 — для десятичных и 16 — для шестнадцатеричных чисел.
В этих классах определены следующие константы.
MIN.VALUE
Минимальное значение Максимальное значение
SIZE
Ширина помещенного в оболочку значения в битах
TYPE
Объект С

las для типов
byte, short, int или Таблица 16.3. Методы класса
B y t e
Метод
Описание
byte byteValue () Возвращает значение вызывающего объекта как тип
byte
static int compare (byte Сравнивает значения число и
число2.
число1
,
byte
число2)
Возвращает 0, если значения равны. Возвращает отрицательное значение, если значение число меньше, чем число Возвращает положительное значение, если значение число больше, чем число (Добавлено в JDK 7)
Часть II. Библиотека Окончание табл. 16.3
Метол
Описание
int c o m p a r e T o ‘
(Byte
b)
static Byte d e c o d e (String строка equals(Object
объектВу-te)
float f l o a t V a l u e O
int h a s h C o d e ()
int i n t V a l u e ()
long l o n g V a l u e O
static byte parseByte(String строка строка основание Сравнивает числовое значение вызывающего объекта с Ь. Возвращает 0, если значения равны. Возвращает отрицательное число, если вызывающий объект имеет меньшее значение. Возвращает положительное число, если вызывающий объект имеет большее значение
Возвращает объект класса
Byte, который содержит значение, указанное в строке строка Возвращает значение вызывающего объекта как тип Возвращает значение
true, если вызывающий объект класса
Byte эквивалентен объект В у 1е.
В противном случае возвращает значение f a l s Возвращает значение вызывающего объекта как значение типа Возвращает хеш-код вызывающего объекта
Возвращает значение вызывающего объекта как тип Возвращает значение вызывающего объекта как тип Возвращает эквивалент типа
byte числа с основанием 10, переданного в строке строка
Возвращает эквивалент типа
byte числа с основанием основание, переданного в строке строка Возвращает значение вызывающего объекта как
short
Возвращает строку, которая содержит десятичный эквивалент вызывающего объекта
Возвращает строку, которая содержит десятичный число число строка строка основание эквивалент число
Возвращает объект класса
Byte, содержащий значение, переданное параметром число
Возвращает объект класса
Byte, содержащий значение, заданное в строке строка Возвращает объект класса
Byte, содержащий значение, заданное в строке строка с использованием основания основание bТаблица 16.4. Методы класса s h o r t
Метод
Описание
1   ...   29   30   31   32   33   34   35   36   ...   90


написать администратору сайта