Формулировка «Это может включать округление или усечение» появляется в javadocs для longValue()
, shortValue()
, charValue()
и byteValue()
из Number
Таким образом, ясно, что «усечение» предназначено для включения потери значительных старших битов в некоторых случаях.
Проблема на самом деле заключается в том, что термин «усечение»«условно означает потерю младших битов.(Вот как я помню это из моего курса численного анализа 30 лет назад. И Википедия соглашается .)
В отличие от этого, JLS 5.1.3 описывает то же самоеобрабатывают (при сужении целочисленных примитивных типов) следующим образом:
При сужающемся преобразовании целого числа со знаком в целочисленный тип T просто отбрасываются все, кроме n младших битов, где n - количество используемых битовпредставлять тип T.
Так что да, я согласен, что Javadoc является неправильным.Отправьте отчет об ошибке.
ПРИМЕЧАНИЕ
Я первоначально удалил это, потому что я думал, что мое предложение представить отчет об ошибке было, вероятно, бесполезным (основываясь на моем предыдущем опыте с документациейотчеты об ошибках).Но @aioobe отправил отчет об ошибке ... (идентификатор ошибки: 7000825 )