Olá estou com uma dúvida estouestudando a apostila Caelum e tem uma parte de um códio que está assim
for (Conta conta : contas)
o que isso faz exatamente, o Conta seria um objeto
Olá estou com uma dúvida estouestudando a apostila Caelum e tem uma parte de um códio que está assim
for (Conta conta : contas)
o que isso faz exatamente, o Conta seria um objeto
Percorre uma lista de contas, esse for é o foreach, Sim conta é um objeto:
Onde deve ter sido montado algo assim
List<Conta> contas = new ArrayList<Conta>();
for(int i = o; i<10;i++){
Conta conta = new Conta();
conta.setNumero(i);
contas.add(conta)
}
for(Conta conta: contas){
System.out.println(conta.getNumero());
}
Isso é um foreach…
Dá uma olhada aki: http://www.ibm.com/developerworks/java/library/j-forin.html
abraço
A sua sintaxe é:
for ( : <coleção a ser percorrida> ) { fluxo; }
for (String nome : listaStrings) {
System.out.println("String corrente: "+nome);
}
seria o mesmo que:
for (int i = 0; i < listaStrings.length; i++) {
System.out.println("String corrente: "+listaStrings[i]);
}
Um outro exemplo…
[code]class TestaMatriz {
public static void main(String args[]) {
int[] idades = new int[10];
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;
}
for (int i : idades) {
System.out.println("Idades: " + i);
}
}
}[/code]
a diferença para o for tradicional, que ja conhecemos de outras linguaguens é que o foreach vc nao precisa definir o tamanho do array ou conjunto ele mesmo se encarrega de fazer isso, ou seja, com o foreach é usado quando vc quer sempre precorrer TODO o conjunto. Porem vale lembrar q ele nao inativa o outro ja que no for tradicional posso querer percorrer ate a posicao X do meu array/conjunto.
foreach disponivel apenas na versao java 1.5 ou superior .
Obrigado Pessoal !!!