Hoe moet ik de main()
methode declareren in Java?
Zoals dit:
public static void main(String[] args)
{
System.out.println("foo");
}
Of zoals dit:
public static void main(String... args)
{
System.out.println("bar");
}
Wat is eigenlijk het verschil tussen String[]
en eventueel String...
?
Antwoord 1, autoriteit 100%
Hoe moet ik de methode main() in Java declareren?
String[]
en String...
zijn intern hetzelfde, i. e., een array van Strings.
Het verschil is dat wanneer je een varargs-parameter (String...
) gebruikt, je de methode kunt aanroepen als:
public void myMethod( String... foo ) {
// do something
// foo is an array (String[]) internally
System.out.println( foo[0] );
}
myMethod( "a", "b", "c" );
// OR
myMethod( new String[]{ "a", "b", "c" } );
// OR without passing any args
myMethod();
En wanneer u de parameter als een String-array declareert, MOETdeze manier worden aangeroepen:
public void myMethod( String[] foo ) {
// do something
System.out.println( foo[0] );
}
// compilation error!!!
myMethod( "a", "b", "c" );
// compilation error too!!!
myMethod();
// now, just this works
myMethod( new String[]{ "a", "b", "c" } );
Wat is eigenlijk het verschil tussen
String[]
enString
… indien aanwezig?
Het verdrag is om String[]
te gebruiken als de hoofdmethode parameter, maar met String...
Werkt ook, omdat u varargs gebruikt, kunt u de methode bellen Op dezelfde manier belt u een methode met een array als parameter en de parameter zelf is een array in de methode-instantie.
Een belangrijk ding is dat wanneer u een vararg gebruikt, de laatste parameter van de methode moet zijn en u slechts één vararg-parameter kunt hebben.
U kunt hier lezen over Varargs hier: http: //docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
2, Autoriteit 9%
String...
wordt geconverteerd naar een String[]
. Het belangrijkste verschil is dat u op 2 manieren een Vararg-methode kunt bellen:
method(a, b, c);
method(new String[] {a, b, c});
overwegende dat u een methode moet bellen die een array als deze accepteert:
method(new String[] {a, b, c});
Voor de main
methode maakt het geen verschil.
3, Autoriteit 6%
String[] args
Neemt een array-argument.
String... args
neemt een willekeurig aantal snaren als het argument en creëert een array eruit.
Antwoord 4
String[]
is een array van Strings. Daarom een container met veel variabelen van het gegevenstype String
. Bijvoorbeeld:
String[] strArray = new String[2];
str[0] = "Hello";
str[1] = "World";
String str = "Hello World";
Ik hoop dat dit je vragen oplost 🙂