|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Double extends Number implements Comparable<Double>
Double class обертывает значение типа примитива double в объекте. Объект типа Double содержит единственное поле, тип которого double. Кроме того, этот class обеспечивает несколько методов для того, чтобы они преобразовали a double к a String и a String к a double, так же как другие константы и методы, полезные, имея дело с a double.
| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
БАЙТЫ
Число байтов, используемых, чтобы представить a
double значение. |
static int |
MAX_EXPONENT
Максимальная экспонента конечное
double переменная может иметь. |
static double |
MAX_VALUE
Постоянное содержание самое большое положительное конечное значение типа
double, (2-2-52)·21023. |
static int |
MIN_EXPONENT
Минимальная экспонента нормализованный
double переменная может иметь. |
static double |
MIN_NORMAL
Постоянное содержание самое маленькое положительное нормальное значение типа
double, 2-1022. |
static double |
MIN_VALUE
Постоянное содержание самое маленькое положительное ненулевое значение типа
double, 2-1074. |
static double |
НЭН
Постоянное содержание Не-число (НЭН) значение типа
double. |
static double |
NEGATIVE_INFINITY
Постоянное содержание отрицательная бесконечность типа
double. |
static double |
POSITIVE_INFINITY
Постоянное содержание положительная бесконечность типа
double. |
static int |
РАЗМЕР
Число битов, используемых, чтобы представить a
double значение. |
static Class<Double> |
ВВЕСТИ
Class экземпляр, представляющий тип примитива double. |
| Конструктор и Описание |
|---|
Double(double value)
Создает недавно выделенный
Double объект, который представляет примитив double параметр. |
Double(String s)
Создает недавно выделенный
Double объект, который представляет значение с плавающей точкой типа double представленный строкой. |
| Модификатор и Тип | Метод и Описание |
|---|---|
byte |
byteValue()
Возвращает значение этого
Double как a byte после сужающегося примитивного преобразования. |
static int |
compare(double d1, double d2)
Сравнивает эти определенные два
double значения. |
int |
compareTo(Double anotherDouble)
Сравнивается два
Double объекты в цифровой форме. |
static long |
doubleToLongBits(double value)
Возвращает представление указанного значения с плавающей точкой согласно IEEE 754 "двойной формат с плавающей точкой" разрядное расположение.
|
static long |
doubleToRawLongBits(double value)
Возвращает представление указанного значения с плавающей точкой согласно IEEE 754 "двойной формат с плавающей точкой" разрядное расположение, сохраняя Не-число (НЭН) значения.
|
double |
doubleValue()
Возвраты
double значение этого Double объект. |
boolean |
equals(Object obj)
Сравнивает этот объект с указанным объектом.
|
float |
floatValue()
Возвращает значение этого
Double как a float после сужающегося примитивного преобразования. |
int |
hashCode()
Возвращает хэш-код для этого
Double объект. |
static int |
hashCode(double value)
Возвращает хэш-код для a
double значение; совместимый с Double.hashCode(). |
int |
intValue()
Возвращает значение этого
Double как int после сужающегося примитивного преобразования. |
static boolean |
isFinite(double d)
Возвраты
true если параметром является конечное значение с плавающей точкой; возвраты false иначе (для НЭН и параметров бесконечности). |
boolean |
isInfinite()
Возвраты
true если это Double значение является бесконечно большим в величине, false иначе. |
static boolean |
isInfinite(double v)
Возвраты
true если конкретное количество является бесконечно большим в величине, false иначе. |
boolean |
isNaN()
Возвраты
true если это Double значение является Не-числом (НЭН), false иначе. |
static boolean |
isNaN(double v)
Возвраты
true если конкретное количество является Не-числом (НЭН) значение, false иначе. |
static double |
longBitsToDouble(long bits)
Возвраты
double значение, соответствующее данному разрядному представлению. |
long |
longValue()
Возвращает значение этого
Double как a long после сужающегося примитивного преобразования. |
static double |
max(double a, double b)
Возвращает большие из два
double значения, как будто, вызывая Math.max. |
static double |
min(double a, double b)
Возвращает меньшие из два
double значения, как будто, вызывая Math.min. |
static double |
parseDouble(String s)
Возвращает новое
double инициализированный к значению представляется указанным String, как выполняющийся valueOf метод class Double. |
short |
shortValue()
Возвращает значение этого
Double как a short после сужающегося примитивного преобразования. |
static double |
sum(double a, double b)
Добавляет два
double значения вместе согласно + оператор. |
static String |
toHexString(double d)
Возвращает шестнадцатеричное строковое представление
double параметр. |
Строка |
toString()
Возвращает строковое представление этого
Double объект. |
static String |
toString(double d)
Возвращает строковое представление
double параметр. |
static Double |
valueOf(double d)
Возвраты a
Double экземпляр, представляющий указанное double значение. |
static Double |
valueOf(String s)
Возвраты a
Double объект, содержащий double значение представляется строкой параметра s. |
public static final double POSITIVE_INFINITY
double. Это равно значению, возвращенному Double.longBitsToDouble(0x7ff0000000000000L).public static final double NEGATIVE_INFINITY
double. Это равно значению, возвращенному Double.longBitsToDouble(0xfff0000000000000L).public static final double NaN
double. Это эквивалентно значению, возвращенному Double.longBitsToDouble(0x7ff8000000000000L).public static final double MAX_VALUE
double, (2-2-52) · 21023. Это равно шестнадцатеричному литералу с плавающей точкой 0x1.fffffffffffffP+1023 и также равный Double.longBitsToDouble(0x7fefffffffffffffL).public static final double MIN_NORMAL
double, 2-1022. Это равно шестнадцатеричному литералу с плавающей точкой 0x1.0p-1022 и также равный Double.longBitsToDouble(0x0010000000000000L).public static final double MIN_VALUE
double, 2-1074. Это равно шестнадцатеричному литералу с плавающей точкой 0x0.0000000000001P-1022 и также равный Double.longBitsToDouble(0x1L).public static final int MAX_EXPONENT
double переменная может иметь. Это равно значению, возвращенному Math.getExponent(Double.MAX_VALUE).public static final int MIN_EXPONENT
double переменная может иметь. Это равно значению, возвращенному Math.getExponent(Double.MIN_NORMAL).public static final int SIZE
double значение.public static final int BYTES
double значение.public Double(double value)
Double объект, который представляет примитив double параметр.value - значение, которое будет представлено Double.public Double(String s) throws NumberFormatException
Double объект, который представляет значение с плавающей точкой типа double представленный строкой. Строка преобразовывается в a double оцените как будто valueOf метод.s - строка, которая будет преобразована в a Double.NumberFormatException - если строка не содержит parsable число.valueOf(java.lang.String)public static String toString(double d)
double параметр. Все символы, упомянутые ниже, являются символами ASCII. NaN". -' ('\u002D'); если знак положителен, никакой символ знака не появляется в результате. Что касается величины м.: "Infinity"; таким образом положительная бесконечность приводит к результату "Infinity" и отрицательная бесконечность приводит к результату "-Infinity". "0.0"; таким образом отрицательный нуль приводит к результату "-0.0" и положительный нуль приводит к результату "0.0". .' ('\u002E'), сопровождаемый одной или более десятичными цифрами, представляющими дробную часть м. .' ('\u002E'), сопровождаемый десятичными цифрами, представляющими дробную часть a, сопровождаемого буквой'E' ('\u0045'), сопровождаемый представлением n как десятичное целое число, как произведено методом Integer.toString(int). double. Таким образом, предположите, что x является точным математическим значением, представленным десятичным представлением, произведенным этим методом для конечного ненулевого параметра d. Затем d должен быть double оцените самый близкий x; или если два double значения одинаково близко к x, тогда d должен быть одним из них, и младший значащий бит мантиссы d должен быть 0. Чтобы создать локализованные строковые представления значения с плавающей точкой, используйте подклассы NumberFormat.
d - double быть преобразованным.public static String toHexString(double d)
double параметр. Все символы, упомянутые ниже, являются символами ASCII. NaN". -' ('\u002D'); если знак положителен, никакой символ знака не появляется в результате. Что касается величины м.: "Infinity"; таким образом положительная бесконечность приводит к результату "Infinity" и отрицательная бесконечность приводит к результату "-Infinity". "0x0.0p0"; таким образом отрицательный нуль приводит к результату "-0x0.0p0" и положительный нуль приводит к результату "0x0.0p0". double значение с нормализованным представлением, подстроки используются, чтобы представить поля экспоненты и мантисса. Мантисса представляется символами "0x1." сопровождаемый строчным шестнадцатеричным представлением остальной части мантиссы как часть. Конечные нули в шестнадцатеричном представлении удаляются, если все цифры не являются нулем, когда используется единственный нуль. Затем, экспонента представляется "p" сопровождаемый десятичной строкой несмещенной экспоненты, как будто произведенный звонком Integer.toString на значении экспоненты. double значение с субнормальным представлением, мантисса представляется символами "0x0." сопровождаемый шестнадцатеричным представлением остальной части мантиссы как часть. Конечные нули в шестнадцатеричном представлении удаляются. Затем, экспонента представляется "p-1022". Отметьте, что должна быть по крайней мере одна ненулевая цифра в субнормальной мантиссе. | Значение с плавающей точкой | Шестнадцатеричная Строка |
|---|---|
1.0 | 0x1.0p0 |
-1.0 | -0x1.0p0 |
2.0 | 0x1.0p1 |
3.0 | 0x1.8p1 |
0.5 | 0x1.0p-1 |
0.25 | 0x1.0p-2 |
Double.MAX_VALUE |
0x1.fffffffffffffp1023 |
Minimum Normal Value |
0x1.0p-1022 |
Maximum Subnormal Value |
0x0.fffffffffffffp-1022 |
Double.MIN_VALUE |
0x0.0000000000001p-1022 |
d - double быть преобразованным.public static Double valueOf(String s) throws NumberFormatException
Double объект, содержащий double значение представляется строкой параметра s. Если s null, тогда a NullPointerException бросается.
Продвижение и запаздывание пробельных символов в s игнорируются. Пробел удаляется как будто String.trim() метод; то есть, и пробелы ASCII и управляющие символы удаляются. Остальная часть s должен составить FloatValue как описано лексическими правилами синтаксиса:
где Знак, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger и FloatTypeSuffix как определяются в лексических разделах структуры Спецификации языка Java™, за исключением того, что подчеркивания не принимаются между цифрами. Если
- FloatValue:
- Signopt
NaN- Signopt
Infinity- Signopt FloatingPointLiteral
- Signopt HexFloatingPointLiteral
- SignedInteger
- HexFloatingPointLiteral:
- HexSignificand BinaryExponent FloatTypeSuffixopt
- HexSignificand:
- HexNumeral
- HexNumeral
.0xHexDigitsopt.HexDigits0XHexDigitsopt.HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
pP
s не имеет формы FloatValue, тогда a NumberFormatException бросается. Иначе, s расценивается как представление точного десятичного значения в обычном "компьютеризированном экспоненциальном представлении" или как точное шестнадцатеричное значение; это точное численное значение тогда концептуально преобразовывается в "бесконечно точное" двоичное значение, которое тогда округляется, чтобы ввести double по обычному правилу раунда-к-самому-близкому IEEE 754 арифметика с плавающей точкой, которая включает сохранение знака нулевого значения. Отметьте, что правило раунда-к-самому-близкому также подразумевает поведение потери значимости и переполнение; если точное значение s является достаточно большим в величине (больше чем или равный (MAX_VALUE + ulp(MAX_VALUE)/2), округление к double приведет к бесконечности и если точное значение s является достаточно маленьким в величине (меньше чем или равный MIN_VALUE/2), округление, чтобы плавать приведет к нулю. Наконец, после округления a Double объект, представляющий это double значение возвращается. Чтобы интерпретировать локализованные строковые представления значения с плавающей точкой, используйте подклассы NumberFormat.
Отметьте, что запаздывающие спецификаторы формата, спецификаторы, которые определяют тип литерала с плавающей точкой (1.0f a float значение; 1.0d a double значение), не влияйте на результаты этого метода. Другими словами численное значение строки ввода преобразовывается непосредственно в целевой тип с плавающей точкой. Двухступенчатая последовательность преобразований, представьте в виде строки к float сопровождаемый float к double, не эквивалентно преобразованию строки непосредственно к double. Например, float литерал 0.1f равно double значение 0.10000000149011612; float литерал 0.1f представляет различное численное значение чем double литерал 0.1. (Численное значение 0.1 не может быть точно представлено в двоичном числе с плавающей точкой.)
Избегать вызывать этот метод на недопустимой строке и иметь a NumberFormatException будьте брошены, регулярное выражение ниже может использоваться, чтобы экранировать строку ввода:
final String Digits = "(\\p{Digit}+)";
final String HexDigits = "(\\p{XDigit}+)";
// an exponent is 'e' or 'E' followed by an optionally
// signed decimal integer.
final String Exp = "[eE][+-]?"+Digits;
final String fpRegex =
("[\\x00-\\x20]*"+ // Optional leading "whitespace"
"[+-]?(" + // Optional sign character
"NaN|" + // "NaN" string
"Infinity|" + // "Infinity" string
// A decimal floating-point string representing a finite positive
// number without a leading sign has at most five basic pieces:
// Digits . Digits ExponentPart FloatTypeSuffix
//
// Since this method allows integer-only strings as input
// in addition to strings of floating-point literals, the
// two sub-patterns below are simplifications of the grammar
// productions from section 3.10.2 of
// The Java™ Language Specification.
// Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
"((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
// . Digits ExponentPart_opt FloatTypeSuffix_opt
"(\\.("+Digits+")("+Exp+")?)|"+
// Hexadecimal strings
"((" +
// 0[xX] HexDigits ._opt BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "(\\.)?)|" +
// 0[xX] HexDigits_opt . HexDigits BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" +
")[pP][+-]?" + Digits + "))" +
"[fFdD]?))" +
"[\\x00-\\x20]*");// Optional trailing "whitespace"
if (Pattern.matches(fpRegex, myString))
Double.valueOf(myString); // Will not throw NumberFormatException
else {
// Perform suitable alternative action
}
s - строка, которая будет проанализирована.Double объект, содержащий значение, представленное String параметр.NumberFormatException - если строка не содержит parsable число.public static Double valueOf(double d)
Double экземпляр, представляющий указанное double значение. Если новое Double экземпляр не требуется, этот метод должен обычно использоваться в предпочтении к конструктору Double(double), поскольку этот метод, вероятно, приведет к значительно лучшей производительности пространства и времени, кэшируя часто требуемые значения.d - двойное значение.Double представление экземпляра d.public static double parseDouble(String s) throws NumberFormatException
double инициализированный к значению представляется указанным String, как выполняющийся valueOf метод class Double.s - строка, которая будет проанализирована.double значение представляется строковым параметром.NullPointerException - если строка является нулемNumberFormatException - если строка не содержит parsable double.valueOf(String)public static boolean isNaN(double v)
true если конкретное количество является Не-числом (НЭН) значение, false иначе.v - значение, которое будет протестировано.true если значением параметра является НЭН; false иначе.public static boolean isInfinite(double v)
true если конкретное количество является бесконечно большим в величине, false иначе.v - значение, которое будет протестировано.true если значение параметра является положительной бесконечностью или отрицательной бесконечностью; false иначе.public static boolean isFinite(double d)
true если параметром является конечное значение с плавающей точкой; возвраты false иначе (для НЭН и параметров бесконечности).d - double значение, которое будет протестированоtrue если параметром является конечное значение с плавающей точкой, false иначе.public boolean isNaN()
true если это Double значение является Не-числом (НЭН), false иначе.true если значением, представленным этим объектом, является НЭН; false иначе.public boolean isInfinite()
true если это Double значение является бесконечно большим в величине, false иначе.true если значение, представленное этим объектом, является положительной бесконечностью или отрицательной бесконечностью; false иначе.public String toString()
Double объект. Примитив double значение, представленное этим объектом, преобразовывается в строку точно как будто методом toString из одного параметра.toString в class ObjectString представление этого объекта.toString(double)public byte byteValue()
Double как a byte после сужающегося примитивного преобразования.public short shortValue()
Double как a short после сужающегося примитивного преобразования.shortValue в class Numberdouble значение, представленное этим объектом, преобразованным в тип shortpublic int intValue()
Double как int после сужающегося примитивного преобразования.public long longValue()
Double как a long после сужающегося примитивного преобразования.public float floatValue()
Double как a float после сужающегося примитивного преобразования.floatValue в class Numberdouble значение, представленное этим объектом, преобразованным в тип floatpublic double doubleValue()
double значение этого Double объект.doubleValue в class Numberdouble значение представляется этим объектомpublic int hashCode()
Double объект. Результатом является монопольное ИЛИ двух половин long целочисленное разрядное представление, точно как произведено методом doubleToLongBits(double), из примитива double значение представляется этим Double объект. Таким образом, хэш-код является значением выражения:
(int)(v^(v>>>32))
где v определяется:
long v = Double.doubleToLongBits(this.doubleValue());
hashCode в class Objecthash code значение для этого объекта.Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public static int hashCode(double value)
double значение; совместимый с Double.hashCode().double значение.public boolean equals(Object obj)
true если и только если параметр не null и a Double объект, который представляет a double у этого есть то же самое значение как double представленный этим объектом. С этой целью, два double значения, как полагают, являются тем же самым если и только если метод doubleToLongBits(double) возвращает идентичное long оцените когда применено к каждого. Отметьте что в большинстве случаев для двух экземпляров class Double, d1 и d2, значение d1.equals(d2) true если и только если
d1.doubleValue() == d2.doubleValue()
также имеет значение true. Однако, есть два исключения:
d1 и d2 оба представляют Double.NaN, тогда equals возвраты метода true, даже при том, что Double.NaN==Double.NaN имеет значение false. d1 представляет +0.0 в то время как d2 представляет -0.0, или наоборот, equal у теста есть значение false, даже при том, что +0.0==-0.0 имеет значение true. equals в class Objectobj - объект сравниться с.true если объекты являются тем же самым; false иначе.doubleToLongBits(double)public static long doubleToLongBits(double value)
Бит 63 (бит, который выбирается маской 0x8000000000000000L) представляет знак числа с плавающей точкой. Биты 62-52 (биты, которые выбираются маской 0x7ff0000000000000L) представьте экспоненту. Биты 51-0 (биты, которые выбираются маской 0x000fffffffffffffL) представьте мантиссу (иногда названный мантиссой) числа с плавающей точкой.
Если параметром является положительная бесконечность, результат 0x7ff0000000000000L.
Если параметром является отрицательная бесконечность, результат 0xfff0000000000000L.
Если параметром является НЭН, результат 0x7ff8000000000000L.
Во всех случаях результатом является a long целое число, что, когда дано longBitsToDouble(long) метод, произведет значение с плавающей точкой то же самое как параметр doubleToLongBits (кроме всей НЭН значения сворачиваются к единственному "каноническому" значению НЭН).
value - a double точность число с плавающей точкой.public static long doubleToRawLongBits(double value)
Бит 63 (бит, который выбирается маской 0x8000000000000000L) представляет знак числа с плавающей точкой. Биты 62-52 (биты, которые выбираются маской 0x7ff0000000000000L) представьте экспоненту. Биты 51-0 (биты, которые выбираются маской 0x000fffffffffffffL) представьте мантиссу (иногда названный мантиссой) числа с плавающей точкой.
Если параметром является положительная бесконечность, результат 0x7ff0000000000000L.
Если параметром является отрицательная бесконечность, результат 0xfff0000000000000L.
Если параметром является НЭН, результат long целое число, представляющее фактическое значение НЭН. В отличие от этого doubleToLongBits метод, doubleToRawLongBits не сворачивает все комбинации двоичных разрядов, кодирующие НЭН к единственному "каноническому" значению НЭН.
Во всех случаях результатом является a long целое число, что, когда дано longBitsToDouble(long) метод, произведет значение с плавающей точкой то же самое как параметр doubleToRawLongBits.
value - a double точность число с плавающей точкой.public static double longBitsToDouble(long bits)
double значение, соответствующее данному разрядному представлению. Параметром, как полагают, является представление значения с плавающей точкой согласно IEEE 754 "двойной формат с плавающей точкой" разрядное расположение. Если параметр 0x7ff0000000000000L, результатом является положительная бесконечность.
Если параметр 0xfff0000000000000L, результатом является отрицательная бесконечность.
Если параметром является какое-либо значение в диапазоне 0x7ff0000000000001L через 0x7fffffffffffffffL или в диапазоне 0xfff0000000000001L через 0xffffffffffffffffL, результатом является НЭН. Никакой IEEE 754 работа с плавающей точкой, обеспеченная Java, не может различить два значения НЭН того же самого типа с различными комбинациями двоичных разрядов. Отличные значения НЭН только различимы при помощи Double.doubleToRawLongBits метод.
Во всех других случаях позвольте s, e, и м. быть тремя значениями, которые могут быть вычислены от параметра:
int s = ((bits >> 63) == 0) ? 1 : -1;
int e = (int)((bits >> 52) & 0x7ffL);
long m = (e == 0) ?
(bits & 0xfffffffffffffL) << 1 :
(bits & 0xfffffffffffffL) | 0x10000000000000L;
Затем результат с плавающей точкой равняется значению математического выражения s · м. · 2e-1075. Отметьте, что этот метод, возможно, не в состоянии возвратить a double НЭН с точно той же самой комбинацией двоичных разрядов как long параметр. IEEE 754 различает два вида NaNs, тихого NaNs и сигнального NaNs. Различия между двумя видами НЭН обычно не видимы в Java. Арифметические операции при сигнализации NaNs превращают их в тихий NaNs с различным, но часто подобная, комбинация двоичных разрядов. Однако, на некоторых процессорах, просто копируя сигнальную НЭН также выполняет то преобразование. В частности копирование сигнальной НЭН, чтобы возвратить это методу вызова может выполнить это преобразование. Так longBitsToDouble возможно, не в состоянии возвратить a double с сигнальной комбинацией двоичных разрядов НЭН. Следовательно, для некоторых long значения, doubleToRawLongBits(longBitsToDouble(start)) возможно, не равняется start. Кроме того то, какие определенные комбинации двоичных разрядов представляют сигнальный NaNs, является зависимой платформой; хотя все комбинации двоичных разрядов НЭН, тихие или сигнализация, должны быть в диапазоне НЭН, идентифицированном выше.
bits - любой long целое число.double значение с плавающей точкой с той же самой комбинацией двоичных разрядов.public int compareTo(Double anotherDouble)
Double объекты в цифровой форме. Есть два пути, которыми сравнения, выполняемые этим методом, отличаются от выполняемых языком Java числовые операторы сравнения (<, <=, ==, >=, >) когда применено к примитивный double значения: Double.NaN как полагает этот метод, равен себе и больше чем все другой double значения (включая Double.POSITIVE_INFINITY). 0.0d как полагает этот метод, больше чем -0.0d. Double объекты, наложенные этим методом, являются непротиворечивыми с, равняется.compareTo в интерфейсе Comparable<Double>anotherDouble - Double быть сравненным.0 если anotherDouble в цифровой форме равно этому Double; значение меньше чем 0 если это Double в цифровой форме меньше чем anotherDouble; и значение, больше чем 0 если это Double в цифровой форме больше чем anotherDouble.public static int compare(double d1,
double d2)
double значения. Знак возвращенного целочисленного значения является тем же самым как тем из целого числа, которое было бы возвращено вызовом:
new Double(d1).compareTo(new Double(d2))
d1 - первое double сравнитьсяd2 - второе double сравниться0 если d1 в цифровой форме равно d2; значение меньше чем 0 если d1 в цифровой форме меньше чем d2; и значение, больше чем 0 если d1 в цифровой форме больше чем d2.public static double sum(double a,
double b)
double значения вместе согласно + оператор.a - первый операндb - второй операндa и bBinaryOperatorpublic static double max(double a,
double b)
double значения, как будто, вызывая Math.max.a - первый операндb - второй операндa и bBinaryOperatorpublic static double min(double a,
double b)
double значения, как будто, вызывая Math.min.a - первый операндb - второй операндa и b.BinaryOperator
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92