missing equals() for class Example
你好,
在实现一个新算子的过程中,我想计算一个例子的环境。我实现了以下代码:
谢谢,
罗伯特。
在实现一个新算子的过程中,我想计算一个例子的环境。我实现了以下代码:
问题是示例本身总是被添加到结果列表中,尽管我检查了==和equals():
private Listgettepsilonenvironment (final Example, final exampleeset exampleeset) {
final Listresult = new LinkedList ();
日志。logNote("EPSILON-ENVIRONMENT FOR " + example);
for (final Example other: exampleSet) {
日志。logNote(“TESTING”+其他);
/ *
*加上所有(其他!)比epsilon更接近的例子
* /
如果(!(example == other || example.equals(other)) && distance(example, other) < epsilon) {
result.add(其他);
日志。logNote(“添加!”);
}
}
日志。logNote("RESULT: " + RESULT);
返回结果;
}
我如何保证不将示例添加到环境中?有办法检查例子的同一性吗?
[注]epsilon-environment为5.1 3.5 1.4 0.2 1.0
[注]测试5.1 3.5 1.4 0.2 1.0
[注]添加!
[注]测试5.6 3.0 4.1 1.3 2.0
[注]添加!
[注]测试5.5 2.6 4.4 1.2 3.0
[注]添加!
[注]测试5.4 3.7 1.5 0.2 4.0
[注]添加!
[注]测试6.5 3.0 5.2 2.0 5.0
[注]测试5.7 3.8 1.7 0.3 6.0
[注]添加!
[注]result: [5.1 3.5 1.4 0.2 1.0, 5.6 3.0 4.1 1.3 2.0, 5.5 2.6 4.4 1.2 3.0, 5.4 3.7 1.5 0.2 4.0, 5.7 3.8 1.7 0.3 6.0]
谢谢,
罗伯特。
标记:
0
答案
示例只是对数据的视图。无论如何,你都不应该存储它们。如果你需要这些数据,你应该把它们复制到双精度[]
问候,
塞巴斯蒂安。