Multiple choice technology programming languages

Given: 1. class Voop { 2. public static void main(String [] args) { 3. doStuff(1); 4. doStuff(1, 2); 5. } 6. // insert code here 7. } Which, inserted independently at line 6, will compile? (Choose all that apply.)

  1. static void doStuff(int... doArgs) { }

  2. static void doStuff (int [] doArgs) { }

  3. static void doStuff(int doArgs...) { }

  4. static void doStuff(int... doArgs, int y) { }

  5. static void doStuff(int x, int... doArgs) { }

Reveal answer Fill a bubble to check yourself
A,E Correct answer
Explanation

Java varargs (type...) must be the last parameter and can match zero or more arguments. Option A works because int... can accept single int or multiple ints. Option E works because the required int x matches the first argument, and int... matches the rest. Option B fails because int[] requires an actual array object, not int literals. Option C is invalid syntax - varargs notation goes after the type. Option D fails because varargs must be the last parameter.