我想做一些非常简单的事情:一个Rectangle类,其坐标是int或double。但是,在以下代码中
public class Rect<T extends Number>
{
T X1;
T Y1;
T X2;
T Y2;
public Rect(T x1, T y1, T x2, T y2)
{
X1 = x1;
Y1 = y1;
X2 = x2;
Y2 = y2;
}
public Rect()
{
X1 = 0;
}
}
我收到错误消息&#34;不兼容的类型:int无法转换为T&#34;。我选择java.lang.Number作为基类类型,因为Integer和Double在那里。我写#34; X1 = new T(0)&#34;时也会出错。任何人都可以告诉我这里有什么问题吗?最后,我想与班级成员一起工作(补充等)。
答案 0 :(得分:2)
在我看来,你应该假设所有坐标都是Double。最简单的做法。 另一种解决方案是删除您尝试将值设置为零的构造函数。只需使用传递所有值的构造函数。
答案 1 :(得分:0)