以下是我编写的一个大库的一部分,所以我只显示一小段代码。如果需要更多,请告诉我。
我正在制作一个工具,我可以在其中选择贝塞尔曲线的锚点。奇怪的是,例如,我选择了一个锚。然后我可以按住 shift 进行切换选择,其中未选中的锚点被选中,选中的锚点未被选中。我选择了同一个锚。然后在第一行代码中检查它是否在 ArrayList lastAnchorSelection 中。它是一部分,但由于某种原因它仍在继续。然后它报告最后一个选择的大小,即 1。然后我将对象从 arrayList 中取出并针对 v 进行测试,它打印出来是真的。
那么第一行如何导致错误,而第四行结果为真呢?
if (lastAnchorSelection.contains(v) == false) {
System.out.println("lastAnchorSelection.size(): "+lastAnchorSelection.size());
CVector test = lastAnchorSelection.get(0);
System.out.println(test == v);
System.out.println("C");