私の方法にはArrayList
があります。サークルの特別なクラスが含まれています。 ColoredCircle
の中には、タイプPoint2D.Double p1
の変数があります。これらの座標を別の座標系に変換する必要があります。私がそうすると、メソッドはArrayListを変更し、変換された座標でそれを埋めています。どうして?私は自分の変換方法で私のArrayList
に触れなかった。私のデータを変更するJava - ArrayList。どうして?
public ArrayList<ColoredCircle> algorithm(final ArrayList<ColoredCircle> circleList) {
ColoredCircle a = circleList.get(0);
ColoredCircle b = circleList.get(1);
ColoredCircle c = circleList.get(2);
for (ColoredCircle cr : circleList) {
System.out.println("algo"+ cr.getPoint().getX()+" "+cr.getPoint().getY());
}
Point2D.Double circleCoordinateC1 = this.transorm_coordinates_circle(b.center, a.getPoint());
for (ColoredCircle cr : circleList) {
System.out.println("algo2"+ cr.getPoint().getX()+" "+cr.getPoint().getY());
}
Transormation方法:
public Point2D.Double transorm_coordinates_circle(Point2D.Double circle_center, Point2D.Double point) {
double x = point.getX() - circle_center.getX();
double y = (point.getY() - circle_center.getY()) * -1;
point.setLocation(x, y);
System.out.println("Point "+point.getX()+" "+point.getY());
return point;
}
'から来tmp2'ん? – Smutje
リストには円が含まれておらず、円への参照が含まれています... – assylias
なぜ変更しないのですか?arraylistからメソッドにオブジェクトを渡しています。一般的に参照渡しで値渡しされない –