我有一个名为 Vector2 的类,默认情况下它会创建名称等于空字符串的 vector (0.0, 0.0)。分配 getter 和 setter 方法后,我被要求计算两个 vector 的总和。我已经尝试过以下...
public Vector2 add(Vector2 other) {
Vector2 a = new Vector2();
return other + a;
}
当我这样做时,我得到一个无效的参数类型,因为添加对于字符串类型无效。我尝试了解析和转换,但它不起作用。我是 Java 新手,无法建立联系。
最佳答案
在 Java 中,算术运算符不能用于对象,也不能被覆盖(请参阅此线程 here)。
但是让我们换一种方式:Java 应该如何知道 +
应该对该类实际做什么?您需要自己实现算术,这意味着您必须将 add 方法分解为将一个 vector 与另一个 vector 相加的实际算法。
因为我相信你只有一个 2D vector :
Vector2 res = new Vector2();
res.a = this.a + other.a;
res.b = this.b + other.b;
return res;
假设a
和b
是int
、double
、float
或另一个基元,可以在其中使用 +
运算符。
关于java - vector 的无效参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59709547/