Wil*_*ton 6 java generics math
我正在尝试编写一些代码,允许我在"T extends Number"对象实例上执行基本的数学运算.它需要能够处理作为子类的任何数字类型Number
.
我知道一些类型下Number
有.add()
内置方法,有些甚至有.multiply()
方法.我需要能够将任何可能类型的两个泛型变量相乘.我进行了搜索和搜索,但未能提出任何明确的答案.
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());
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.泛型是我在学习Java时遇到的最困难的事情.我不介意做腿部工作,因为我以这种方式学得更好,所以即使是正确方向的优势也会非常有帮助.
您需要做的是使用 的双精度值Number
。但是,这意味着您无法返回该Number
类型。
public double getArea()
{
return 3.14 *
(circle.getRadius().doubleValue()) *
(circle.getRadius().doubleValue());
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4639 次 |
最近记录: |