2011-05-13 20 views
30

¿Existe una diferencia entre:¿Hay una diferencia entre main (String args []) y main (String [] args)?

public void main(String args[]) { ... } 

y

public void main(String[] args) { ... } 

no creo que sí, pero me pregunto.

+2

Como dijiste, estilo de codificación. Sé que muchas personas prefieren el segundo porque parece más claro que 'args' es una matriz de' String' en lugar de una matriz de 'args' –

Respuesta

27

Semánticamente, son idénticos. Sin embargo, recomendaría utilizar la última sintaxis (String[] args) al declarar matrices. La sintaxis anterior está allí principalmente por la compatibilidad con la sintaxis C.

Dado que String[], como un todo, es el tipo de objeto en Java, es más consistente y claro no dividirlo.

A similar question aborda la lista de argumentos del método [] después del método.

3

Sin

Ellos son sólo dos estilo de escritura

0

Nop. No hay diferencia b/w los dos.

Vea la sección Declaring a Variable to Refer to an Array en this doc. De ese documento

float anArrayOfFloats []; // este formulario se desaconseja

así que solo use el segundo estilo.

1

La firma del método es la misma, por lo que no hay diferencia.

Es un método público, no devuelve nada, el nombre del método es "principal" y toma una matriz de Cadenas.

5

No hay diferencia, pero poner los corchetes después del tipo (String[]) es la práctica más común en Java.

0

La diferencia entre estos es que cuando tratamos de llamar al método principal de forma manual de una clase a otra utilizando la sintaxis estática, utilizamos "string [] s". En ese punto, tenemos que pasar una matriz de tipo de cadena como argumento en el método principal. Cuando estamos usando "String ... s", no es necesario pasar ninguna matriz de cadenas como argumento. Se ejecutará y no importa si pasa la matriz como un argumento o no (si no lo pasa explícitamente, se pasa solo) ... por lo tanto probado /////////

3

Ambos son absolutamente iguales. Consulte la Especificación del lenguaje Java (JLS) para ver la sintaxis utilizada en java.

String [] args o String args [] creará una matriz (reserva un lugar en la memoria) sin args de tamaño y nombre.

Let us Consider: 

String [] x; 

putting the [] after the name. Why? because it avoids subtle problems like this:- 

String x [] , y; //x[] is an array but y is a String 
String [] x y ; //two arrays x[] and y[] both 
0

hay una diferencia: Por ejemplo si se escribe int [] arr; - aquí arr es la referencia a la matriz de enteros mientras que en el caso de int arr []; - arr es una matriz tipo de tipo de letra primitiva

0

Aunque ambas se utilizan para crear una matriz de tipo String pero la segunda es más popular, porque con eso puedes crear varias matrices de cadenas simultáneamente ... Ej. String[] a,b; Aquí has ​​creado dos cadenas de matrices a y b simultáneamente.

Sin embargo

String a[],b;creará Array cadena "a" y variable String (no array) b.

Espero que esto aclare.

Cuestiones relacionadas