Problem polega na tym, że w funkcji przekazuję obiekt line i przypisuję go do wartości null, a on dalej wskazuje mi na poprzednią wartość. Prosiłbym o wytłumaczenie, czemu to się tak dzieje?
@Test
public void test() {
Line2D line = new Line.Float(10, 10, 10, 10);
test2(line);
System.out.println("test2: (" + line.getX1() + ", " + line.getY1()
+ "); (" + line.getX2() + ", " + line.getY2() + ");");
test3(line);
System.out.println("test3: (" + line.getX1() + ", " + line.getY1()
+ "); (" + line.getX2() + ", " + line.getY2() + ");");
}
public void test2(Line2D line) {
line.setLine(10, 110, 10, 10);
}
public void test3(Line2D line) {
line = null;
}
Wynik testu:
test2: (10.0, 110.0); (10.0, 10.0);
test3: (10.0, 110.0); (10.0, 10.0);