Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

DOUBT from scjp book

 
Abhishek Mantri
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.)
A. static void doStuff(int... doArgs) { }
B. static void doStuff(int[] doArgs) { }
C. static void doStuff(int doArgs...) { }
D. static void doStuff(int... doArgs, int y) { }
E. static void doStuff(int x, int... doArgs) { }
Answer:
-> A and E use valid var-args syntax.
-> B and C are invalid var-arg syntax, and D is invalid because the var-arg must be the last of a method's arguments.(Objective 1.4)
MY QUESTION IS WHY "B" IS A WRONG OPTION???THIS QUERY IS FROM SCJP BOOK-CHAPTER 1
 
Gaurav Joshi
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Abhishek,

static void doStuff(int[] doArgs) { } expects the values passed as that of
int array(Remember its an Object).
Hence when you pass doStuff(1) and doStuff(1,2), it doesnt get called.
But,

will work fine
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser Redhat VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please see KeepItDown to find out why it is considered rude to type sentences with the caps-lock button down.

Tip:
You can always fix a post by clicking on the link in that post.
 
Abhishek Mantri
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Gaurav
Sorry Ben..will remember it next time
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic