Я удивлен, что геттеры height
и width
членов имеют return
типа double
, хотя они int
. Кроме того, setSize
метод с двойными параметрами имеет следующее определение:Метод Тип возвращаемого в Dimension классе java.awt
/**
* Sets the size of this <code>Dimension</code> object to
* the specified width and height in double precision.
* Note that if <code>width</code> or <code>height</code>
* are larger than <code>Integer.MAX_VALUE</code>, they will
* be reset to <code>Integer.MAX_VALUE</code>.
*
* @param width the new width for the <code>Dimension</code> object
* @param height the new height for the <code>Dimension</code> object
*/
public void setSize(double width, double height) {
this.width = (int) Math.ceil(width);
this.height = (int) Math.ceil(height);
}
Пожалуйста, обратите внимание на Dimension класса. Выше комментария говорит, что значения не могут выходить за пределы Integer.MAX_VALUE. Зачем? Почему у нас есть double
между? Есть ли какая-то тонкая причина? Может ли кто-нибудь объяснить это мне? Извините за мое настойчивость!
Это что? Почему у нас есть getters с 'double' как' return' type? Любое использование? – Ahamed
Я не знаю точной причины, по которой они возвращаются как двойные (возможно, потому, что когда речь идет о измерениях, вы говорите о точности, а в этих случаях чаще используется double), но для установщиков это просто перегрузка метода помочь пользователю. – talnicolas
Спасибо за ваш ответ, я не думаю, что 'double', имеющие значения int, помогут в точности. Я имею в виду, что двойной 1517,00 равен 1517, так что должна быть какая-то причина? – Ahamed