Capisco che questo è già una risposta, ma se questo può aiutare a capire di più ..
Per la vostra specifica domanda -
possiamo usare quei 3 punti per creare un array al posto di piazza staffe
La risposta retta è si, e qui sta la documentazione java: http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs
(String... args)
Qui il thread principale chiama il metodo principale che passa alcuni argomenti. Il tipo di dichiarazione dei parametri è Array, ma quando viene chiamato il metodo è possibile passare uno o più oggetti String o un array di oggetti String, come parametri di tale funzione. Non c'è specialità per main() in questo caso.
Inoltre, si potrebbe chiamare un myMethod (String args ..) in uno dei seguenti modi:
myMethod(); // Likely useless, but possible
myMethod("one", "two", "three");
myMethod("one");
myMethod(new String[]{"a", "b", "c"});
Nota importante 1: Il parametro (s) superato in questo modo è sempre una matrice - anche se ce n'è uno solo. Assicurati di trattarlo in questo modo nel corpo del metodo.
Nota importante 2: il parametro che ottiene il ... deve essere l'ultimo nella firma del metodo. Quindi, myMethod (int i, String ... stringhe) va bene, ma myMethod (String ... stringhe, int i) non va bene.
È inoltre menzionato che si è tentato con 'Integer []' e non ha funzionato, ecco un esempio
public static void main(String[] args) {
Integer[] a = new Integer[4];
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
myMethod(a);
}
public static void myMethod(Integer... args) {
for (Integer i : args) {
System.out.println(i);
}
}
perché '[]' è più comune di quanto '' ... e qualche volta un po 'più facile per spiegare ... ma ovviamente funzionano entrambi –
'Possiamo usare quei 3 punti per creare un array al posto delle parentesi quadre' prova con la codifica .. – lakshman
Puoi usarli in modo intercambiabile. –