in below code although I am updating StringBuilder roar3 inside roar(String roar1, StringBuilder roar3) method but how it affects roar2 in main() method? Same thing does not affect int x or y in intUpdate(int x, int y) also not for String roar1.
public class TestReference {
public void roar(String roar1, StringBuilder roar3) {
roar1.concat("!!!");
roar3.append("!!!");
}
public void intUpdate(int x, int y) {
x=1;
y=2;
}
public static void main(String[] args) {
String roar1 = "roar";
StringBuilder roar2 = new StringBuilder("roar");
new TestReference().roar(roar1, roar2);
System.out.println(roar1 + " " + roar2);
int x=-1,y=-2;
new TestReference().intUpdate(x, y);
System.out.println(x + " " + y);
}
}