Classe generica[Resolvido]

7 respostas
F

Boa noite galera. Sou novo em java e estou avançando um pouco no conhecimento. lá vai a questão:

Eu tenho uma classe genérica que recebe como parâmetro um objeto e quero recuperar pela classe genérica uma propriedade de um item desta lista. Não sei se me expressei bem. Segue abaixo o exemplo que estou estudando para melhor entendimento.

public class caminho {
	String origem, destino;
	int valor;

	public caminho(String origem, String destino, int valor)
	{
		this.origem = origem;
		this.destino = destino;
		this.valor = valor;
	}
}

public class listaCaminhos<C> {
	private List<C> caminhos = new ArrayList<C>();
	
	public void addCaminho(C caminho){
		caminhos.add(caminho);
	}

}

public class arquivo {
	
	public static void main(String[] args){
		
		caminho caminho1 = new caminho("RJ", "SP", 200);
		caminho caminho2 = new caminho("SP", "ES", 320);
		caminho caminho3 = new caminho("ES", "RJ", 220);
		
                listaCaminhos<caminho> lista = new listaCaminhos<caminho>();
		lista.addCaminho(caminho1);
		lista.addCaminho(caminho2);
		lista.addCaminho(caminho3);
		
		
}
}

sei que foi formada uma lista de objetos, mas como consigo, por exemplo, pegar a propriedade "nome" do primeiro objeto da lista? Nem sei se é possível, se não for, há alguma idéia de desenvolver essa lógica?

Desde já agradeço a ajuda.

7 Respostas

gustavocoolt

Cara, estuda um pouco sobre o padrão java… nome de classe começa com letra maiuscula

gustavocoolt

F?io Marques, se eu entendi corretamente vc precisa utilizar um ForEach

F

Ok. A questão não é o foreach e sim como retornar a propriedade da classe Aluno dentro deste contexto. Quanto ao padrão de nomenclaturas de classes, este exemplo escrevi na mão só para explicar minha dúvida, não me preocupei com isso. Sabe como posso resolver minha dúvida? Pode me dar um exemplo?

Desde já agradeço!!

E

Entendi mais ou menos o que você quer. Você gostaria de fazer algo que o Hibernate faz, ou seja, especificar uma query em uma string, mas sobre um List, não sobre um banco de dados.
No C# isso se chama LINQ, mas no Java isso não está pronto no JDK - você pode achar algum framework que faça isso por você, ou bolar o seu próprio, usando Reflection.

marciobarroso
listaAlunos.get(0).getNome();
F

Muito obrigado!! Simples assim!! :smiley:

F

Só mais um probleminha. Não estou conseguindo desenvolver o método get da classe listaAlunos. Pode me dar um exemplo por favor?

Obrigado

Criado 23 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 7
Participantes 4