Tenho uma dúvida bem simples (eu acho que é simples):
String dados[][] e String[][] dados são a mesma coisa ou não?
Se não forem, o que é cada um?
Desde já agradeço a todos que me ajudarem.
Tenho uma dúvida bem simples (eu acho que é simples):
String dados[][] e String[][] dados são a mesma coisa ou não?
Se não forem, o que é cada um?
Desde já agradeço a todos que me ajudarem.
Olá, Macksuel!
Sim, são a mesma coisa. O que muda é a forma de declaração!
[]'s
Então em metodos que passam como atributo a forma dois (String[][] dados) eu posso passar um na forma um (String dados[][])?
Sim!
Faça o teste em algum compilador Java, e assim você comprovará o resultado!
[]'s
Teste assim:
public class Main {
public static void main(String[] args) {
String[][] aa = new String[5][5];
String bb[][] = new String[5][5];
if (aa.equals(bb)) {
System.out.println("Foi!");
}
}
}
[quote=Nicolas Fernandes]Teste assim:
[code]
public class Main {
public static void main(String[] args) {
String[][] aa = new String[5][5];
String bb[][] = new String[5][5];
if (aa.equals(bb)) {
System.out.println("Foi!");
}
}
}
[/code][/quote]
O que vc quiz dizer com teu código? Chegasse a rodar? rsrs
Simplesmente irá rodar e não imprimir notinhg… :lol: :lol:
Por convenção.
Muita gente defende que é mais claro usar o [][] perto do tipo de dado, já que é ao tipo que ele se refere.
// O programa a seguir prova que você pode
// Entretanto, é meio sinistro você declarar os colchetes antes e depois da variável, ou pior ainda, antes
// e depois da declaração do método.
class SintaxeArrayArray {
// recomendado
String[][] retorna1 () {
return new String[10][20];
}
// sinistro - você acha que o método retorna uma String[], não uma String[][]
String[] retorna2 ()[] {
return new String[10][20];
}
// sinistro - você acha que o método retorna uma String, não uma String[][]
String retorna3 ()[][] {
return new String[10][20];
}
public static void main (String[] args) {
SintaxeArrayArray saa = new SintaxeArrayArray();
String [][]aa1 = saa.retorna1();
String []aa2[] = saa.retorna2();
String aa3[][] = saa.retorna3();
System.out.println (aa1.getClass().getName()); // imprime "[[Ljava.lang.String;"
System.out.println (aa2.getClass().getName()); // imprime "[[Ljava.lang.String;"
System.out.println (aa3.getClass().getName()); // imprime "[[Ljava.lang.String;"
System.out.println (aa1.getClass() == aa2.getClass() && aa2.getClass() == aa3.getClass()); // imprime "true"
}
}