class DangerousInteger { int mydata; public DangerousInteger(int x) { mydata = x; } public int getVal() { return mydata; } public void setVal(int x) { mydata = x; } } public class Ex3 { public void foo(int a, DangerousInteger b) { a = 3; b.setVal(3); } public static void main(String[] args) { int x = 2; DangerousInteger y = new DangerousInteger(2); // no auto-boxing!! Ex3 thing = new Ex3(); thing.foo(x,y); System.out.println("x is "+x+" y is "+y.getVal()); } }