Я пытаюсь написать некоторый код, который позволит мне выполнять основные математические операции на экземпляре объекта «T extends Number». Он должен иметь возможность обрабатывать любой тип номера, который является подклассом Number
.
Я знаю, что некоторые из типов под Number
имеют .add()
методы, встроенные, а некоторые даже имеют методы .multiply()
. Мне нужно уметь умножать две общие переменные любого возможного типа. Я искал и искал и не смог найти четкого ответа.Использовать математические операторы для общих переменных в общем классе Java
public class Circle<T extends Number> {
private T center;
private T radius;
private T area;
// constructor and other various mutator methods here....
/**
The getArea method returns a Circle
object's area.
@return The product of Pi time Radius squared.
*/
public Number getArea() {
return 3.14 * (circle.getRadius()) * (circle.getRadius());
}
Любая помощь будет очень признательна. Дженерики - самая сложная вещь, с которой я столкнулся при изучении Java. Я не против делать работу на ногах, потому что я лучше учусь, так что даже сильная точка в правильном направлении будет очень полезна.
Возможно, вы должны использовать 'Math.PI', а не буквальный' 3.14'. – ColinD
Это не сработает. Поскольку T extends Number, вам разрешено вызывать методы класса Number. – helpermethod
Какова цель этого? – starblue