Estoy intentando escribir algún código que me permita realizar operaciones matemáticas básicas en una instancia de objeto "T extends Number". Necesita poder manejar cualquier tipo de número que sea una subclase de Number
.
Sé que algunos de los tipos en Number
tienen métodos integrados .add()
, y algunos incluso tienen .multiply()
métodos. Necesito poder multiplicar dos variables genéricas de cualquier tipo posible. He buscado y buscado y no he podido encontrar una respuesta clara de ningún tipo.Usar operadores matemáticos en variables genéricas en una clase Java genérica
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());
}
Cualquier ayuda sería muy apreciada. Los genéricos son lo más difícil que he encontrado al aprender Java. No me importa hacer el trabajo de piernas porque aprendo mejor de esa manera, por lo que incluso un punto fuerte en la dirección correcta sería muy útil.
Probablemente deberías estar usando 'Math.PI' en lugar de tu literal' 3.14'. – ColinD
Esto no funcionará de esa manera. A medida que T se extiende Número, solo puede llamar a los métodos del Número de clase. – helpermethod
¿Cuál es el propósito de esto? – starblue