Dúvidas com for

Oi pessoal.

Tenho uma classe que possui os seguintes atributos:

protected String data1;
	protected String data2;
	protected String data3;
	protected String data4;
	protected String data5;
	protected String data6;
	protected String data7;
	protected String data8;
	protected String data9;
	protected String data10;

E estou precisando pegar cada um desses valores e setar uma String diferente. Então faço assim:

classe.setData1("Teste1");
classe.setData2("Teste2");
classe.setData3("Teste3");
classe.setData4("Teste4");
classe.setData5("Teste5");
classe.setData6("Teste6");
classe.setData7("Teste7");
classe.setData8("Teste8");
classe.setData9("Teste9");
classe.setData10("Teste10");

Queria saber se tem como eu fazer um for para pegar todas essas datas sem ter que pegar uma por uma…

Vlw

Credo! Quifeio…

De qualquer maneira, a declaração deveria ter sido feita de forma diferente, para você poder ter as coisas mais corretas.

 protected String[] data = new String [11];  

e então

classe.setData(1, "Teste1");  

A definição de “setData” eu deixo por sua conta. É trivial.

(Alguém vai lhe responder que você poderia usar “reflection” e outros quetais, mas eu não recomendaria isso. É muito complicado, lento e difícil de entender depois. O correto é fazer as coisas direito e de forma simples.

Porque vc não cria uma lista ao inves de ter um atributo por data.

[quote=thingol]Credo! Quifeio…

De qualquer maneira, a declaração deveria ter sido feita de forma diferente, para você poder ter as coisas mais corretas.

 protected String[] data = new String [11];  

e então

classe.setData(1, "Teste1");  

A definição de “setData” eu deixo por sua conta. É trivial.

(Alguém vai lhe responder que você poderia usar “reflection” e outros quetais, mas eu não recomendaria isso. É muito complicado, lento e difícil de entender depois. O correto é fazer as coisas direito e de forma simples.
[/quote]

Vlw pela resposta!
Mas tenho um probleminha… é que essas datas vão para um relatório, e no relatório preciso desses campos (data1, data2…), com esses nomes…
Daí não sei o que fazer…

Faz sentido o relatorio receber data9 ou um atributo cujo nome é mais eloquente como “endereço”, “cnpj” e por ai vai?

Se vc tem atributos que terminam em numero é um indicio que podem ser substituidos por uma lista ou array. Se vc não pode trocar pq eles ‘são usados em outro lugar’ nada impede que vc altere quem recebe para trabalhar de uma forma… digamos… mais natural.

[quote=peczenyj]Faz sentido o relatorio receber data9 ou um atributo cujo nome é mais eloquente como “endereço”, “cnpj” e por ai vai?

Se vc tem atributos que terminam em numero é um indicio que podem ser substituidos por uma lista ou array. Se vc não pode trocar pq eles ‘são usados em outro lugar’ nada impede que vc altere quem recebe para trabalhar de uma forma… digamos… mais natural.[/quote]

E como faria para chamar o item do List no meu relatório?
Tenho $F{data0}, como iria chamá-lo?

Vlw