java - vector 的无效参数类型

标签 java

我有一个名为 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;

假设abintdoublefloat或另一个基元,可以在其中使用 + 运算符。

关于java - vector 的无效参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59709547/

相关文章:

java - 使用JAVA为EC2实例设置标签

java - 如何从 AsyncTask 返回一个值,该值在 doInBackground 中进行另一个异步调用

java - 使用 ListIterator 从列表末尾开始连接

java - 无法观察发送到 Azure 时间序列洞察资源管理器的事件

Java:为什么没有返回更新后的值?

Java正则表达式模式查询

java - 模拟对象返回 null

java - DynamicReports 不在页面开始处打印列标题

java - 什么时候在 ThreadPoolExecutor 中指定单独的核心和最大池大小是个好主意?

java - 如何使用hadoop配置Nut 1.4?