Case1:AutoBoxing Vs Widening.

class Test {
	public void m1(Integer I){
		System.out.println("Integer");
	}
	public void m1(long l){
		System.out.println("long");
	}
	public static void main(String [] a) {
		Test t = new Test();
		int i = 10;
		t.m1(i);
		}
}
/*
Output:
long
*/

Because compiler gives the precedence for widening when compared with autoboxing.

Case2:AutoBoxing Vs var-args

Compiler gives the precedence for the autoboxing over var-arg method. i.e var-args methods will always get least priority.If there is no other method,then only var-arg method will get a chance.

The following example will demonstrates this concept.

class Test {
	 public void m1(Integer I){
	  System.out.println("Integer");
	 }
	 public void m1(int... i){
	  System.out.println("int");
	 }
	 public static void main(String [] a) {
	  Test t = new Test();
	  int i = 10;
	  t.m1(i);
	 }
}
/*
Output:
Integer

*/

Case3:widening Vs var-args

class Test {
	 public void m1(long l){
	  System.out.println("long");
	 }
	 public void m1(int... i){
	  System.out.println("int");
	 }
	 public static void main(String [] a) {
	  Test t = new Test();
	  int i = 10;
	  t.m1(i);
	 }
}
/*
Output:
long

*/

Because the compiler will always gives chance to widening over var-arg.

Compiler gives the precedence in the following order in the case of overloading method resolution.
widening > autoboxing > var-args

Observe the following example carefully.

class Test{
 public void m1(Long l){
  System.out.println("Long");
 }
 public static void main(String[] args){
  Test t = new Test();
  int i =10;
  t.m1(i);//Compile time error.
 }
}

Generates compiler error.(Because widening followed by autoboxing is not possible in java).
Widening-Autoboxing
Like that Integer to Long conversion is also not possible because Integer is not child class of Lang
Autoboxing-widening
Consider the following Example:

class Test{
 public void m1(Object o){
  System.out.println("Object");
 }
 public static void main(String[] args){
  Test t = new Test();
  int i =10;
  t.m1(i);
 }
}
/*
Output:
Object
*/

Because Integer is a child class of Object.
Widening-AutoboxingObject