What is the difference between these two method declarations ?
private static void method(String[] arg)
and
private static void method(String... arg)
Questions
Search
List By Company
List By Topic
Legacy
Tests
Repository
DashBoard
Java
Java 8
Java 7
Java Abbreviations
OCJP / SCJP
Class List
New in Java 8
Java Exceptions
Spring Exceptions
Java Enums
Java 8 Lambda
Java 8 java.time
Big Data
Best Of Java
Discussion
Search
Subscribe
Search Interview Questions
More than 3000 questions in repository.
There are more than 900 unanswered questions.
Click here
and help us by providing the answer.
Have a video suggestion.
Click Correct / Improve and please let us know.
Label / Company
Label / Company / Text
Search
Submit Question
Interview Questions and Answers
Q1.
What is the difference between these two method declarations ?
private static void method(String[] arg)
and
private static void method(String... arg)
Core Java
Ans. First expects the argument as a string array whereas second expects variable number of string arguments or a string array.
So we can call both by providing string array as an argument but second can be called with 0 to n string arguments which cannot be done for first.
for example - We can call second method with any of following
method();
method("Hello");
method("Hello","World");
method(new String[4]);
Help us improve. Please let us know the company, where you were asked this question
:
Like
Discuss
Correct / Improve
 var args  methods  method declarations  functions
Correction
Duplicate of Another Question
Company where this question was Asked
Suggestion
Related Questions
Which of the following are valid declarations
1. void method(int... x){};
2. void method(int.. x){};
3. void method(int.. .x){};
4. void method(int ...x){};
5. void method(int... x){};
6. void method(int ... x){};
7. void method(int x, int... y){};
8. void method(int... x, int y){};
9. void method(int... x,int... y){};
Can we overload method as following ?
void method(int... x){};
void method(int[] x){};
Which of the following is not valid var args declaration ?
Do you prefer using var args ?
Which of the following is false about var args ?
What are var args ?
or
What is the use of var args ?
Why following method declarations are not valid ?
void method(int... x, int y){};
void method(int... x,int... y){};
Which method will get called if we call it as method(1)
void method(int x ){};
void method(int... x){};
Do you see any problem with this code
public class BuggyBread {
public static void main(String[] args) {
method("Hello","World");
}
private static void method(String... args){
for(String arg:args){
System.out.println(arg);
}
}
}
Help us and Others Improve. Please let us know the questions asked in any of your previous interview.
Any input from you will be highly appreciated and It will unlock the application for 10 more requests.
Company Name:
Questions Asked: