以下は私が書いた大きなライブラリの一部なので、小さなコードだけを示しています。さらに必要な場合は、お知らせください。
ベジェのアンカーを選択できるツールを作成しています。奇妙なことに、たとえばアンカーを1つ選択します。次に、Shiftキーを押しながらトグル選択を行うことができます。ここで、選択されていないアンカーが選択され、選択されているアンカーが選択解除されます。同じアンカーを選択します。次に、コードの最初の行で、それがArrayListlastAnchorSelectionにあるかどうかを確認します。それは一部でしたが、何らかの理由で継続しています。次に、最後の選択のサイズである1を報告します。次に、arrayListからオブジェクトを取得し、vに対してテストすると、trueが出力されます。
では、最初の行がfalseになり、4番目の行がtrueになるのはどうしてですか?
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");