Integer... and int... both are considered as arrays and there is no way to compare this two arrays for compiler. so that when it finds any integer parameter passed into method at that compiler checks both version of method if the argument passed can satisfy the requirement and here in this case it finds that both methods are eligible to run so that compiler gets confused which method to call. Therefore it gives ambiguity error......
if there would be Long and Integer parameters in the methods then compiler can easily find out that which method to call because compiler can differentiate them .........
OCPJP(83%)
Don't get me started about those stupid light bulbs.