我正在尝试用 Java 编写一个通用类。 阅读一些指南,我找到了如何声明它以及如何调用它的函数。
我的类是一个点,如果没有方法,它会是这样的:
class Pnt<type>{
protected type x, y;
protected int col;
}
现在,我正在尝试创建一个add
方法,但我做不到。
我尝试的是:
void add(type x_, type y_){
x += x_;
y += y_;
}
IDE 对我大喊 +=
未定义 type
变量...
我知道在 Java 中不可能像在 C++ 中那样定义一个新的运算符,所以我要求另一种方法来添加两个 type
变量!
附言我将使用的所有类型都是 double
、float
和 int
egers,这就是为什么我要尝试简单地上瘾.
最佳答案
当你说 class Pnt<type>
, ti 表示 type
是一个对象而不是像 int
这样的原始数据类型或 double
.您可以执行 +=
对数字原始数据类型的操作,如 int
, float
等等,而不是在一个物体上。事实上你不能执行 +=
与任何通用对象的操作。
Integer
的对象, Float
等支持 +=
运算符,因为它们是包装类并且被拆箱为原始类型并在以后自动装箱。但是编译器无法确认 type
将是 Integer
或 Float
.因此,它会产生编译时错误。
关于java - 通用类 - 运算符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901502/