print(1);
public static void print(Integer i) {
        System.out.println("This is an Integer");
    }
or
public static void print(double i) {
        System.out.println("This is a double");
    }
why it is calling double parameter instead of Integer. I thought it will call Integer parameter due to autoboxing.