Pra que serve o dois-pontos (:)

6 respostas
L
for (DistributedFile file : files)

Como isso funciona? oq faz?

vllww! xD

6 Respostas

A

Isso é um foreach
Ele percorrerá todos os elementos de uma Collection.

M

http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html

Até!

D

Um exemplo simples:

ArrayList<String> lista = new ArrayList<String> ();
lista.add("Java");
lista.add("Guj");
lista.add("Fórum");

for(String s : lista) {
    System.out.println(s);
}

A saída desse código será:

Java
Guj
Fórum

Mais dá uma lida no link que o maquiavelbona passou pra vc entender melhor...

T+

N

lsr:
for (DistributedFile file : files)

Como isso funciona? oq faz?

vllww! xD

Se a sua variavel files for uma lista, o codigo equivalente seria mais ou menos assim.

for (int i = 0; i < files.size(); i++) { DistributedFile file = files.get(i)

M
nicholas.bittencourt:
...
Na verdade, não. A construção, em nível de byte-code, é mais parecida com um uso obscuro do iterator. Teste esse código :
import java.util.ArrayList;
 import java.util.Iterator;
 public class TesteFor {
 	public static void main(String[] args) {
 		ArrayList<String> listaTeste = new ArrayList<String>();
 		listaTeste.add("String 1");
 		listaTeste.add("String 2");
 		listaTeste.add("String 3");
 		System.out.println("Maneira 1 de fazer o for");
 		Iterator<String> it = listaTeste.iterator();
 		do{
 			String nome = (String) it.next();
 			System.out.println(nome);
 		}while(it.hasNext());
 		
 		System.out.println("Maneira 2 de fazer o for");
 		for (String string : listaTeste) {
 			System.out.println(string);
 		}
		System.out.println("Maneira 3 de fazer o for");
		for(Iterator i = listaTeste.iterator();i.hasNext();){
			String var = (String) i.next();
			System.out.println(var);
		}
		System.out.println("Maneira 4 de fazer o for");
		for(int i = 0; i< listaTeste.size();i++){
			System.out.println(listaTeste.get(i));
		}

 	}
 }
Compile e depois rode javap -verbose.

Até!

L

MTOOO OBRIGADO galera…
duvida sanada… XD

vlw msm

Criado 7 de agosto de 2007
Ultima resposta 8 de ago. de 2007
Respostas 6
Participantes 5