Dúvida - passagem de lista entre classes

6 respostas
T

Depois de muito custo e paciencia rs o pessoal aqui do fórum conseguiu me ensinar como faço passagem de variaveis entre classes …

agora quero algo um pouco mais avançado, quero a passagem de uma lista por parametro.

Eu acho que é a mesma coisa, só que no local do Tipo (no parametro do método) eu coloco objeto, é isso ?

6 Respostas

romarcio

Se entendi bem o que vc quer, é assim:

public void metodoQualquer() {
List<String> list = new ArrayList<String>();
list.add("marcio");
list.add("maria");

//chama o método minhaLista passando a lista por parametro.
minhaLista(list);

}


//List<String>: tipo da lista
//list: lista com o contúdo
public void minhaLista(List<String> list) {
 //código
}

O parametro deve respeitar o tipo de lista que vc quer usar, como se fosse um parametro String, vc não poderia passa um Double. Na lista é a mesma coisa.

T

Estou com probleminhas aqui

List list = new ArrayList();

minha lista chama lista, os dados delas são do tipo string, então ela é do tipo string (correto) ?

String list = new Array(o que mais)

evertonsilvagomesjav

tsalsicha:
Estou com probleminhas aqui

List list = new ArrayList();

minha lista chama lista, os dados delas são do tipo string, então ela é do tipo string (correto) ?

String list = new Array(o que mais)

Não, sua lista e do tipo List e ArrayList, os dados que vao ser gravados nela que sao do tipo String. Isso que vc ta fazendo ai nem compila.

romarcio

tsalsicha:
Estou com probleminhas aqui

List list = new ArrayList();

minha lista chama lista, os dados delas são do tipo string, então ela é do tipo string (correto) ?

String list = new Array(o que mais)

Não entendi bem a sua dúvida agora.

Mas seria +/- assim:

List list -> vc aqui cria uma variavel do tipo List que será preenchida com valores do tipo String
new ArrayList() -> aqui vc instancia a classe ArrayList do tipo String.

List list = new ArrayList(); -> aqui vc cria então um objeto do tipo List que vai possuir os métodos da classe ArrayList

Por isso vc consegue fazer list.add() ou list.size(). Esses métodos são de ArrayList.

evertonsilvagomesjav

Em tempo de compilaçao os metodos de list são da Interface List, devido ao uso do polimorfismo e da sobreescrita do método, em tempo de execução que a JVM escolhe add() de ArrayList.

T

Eu consegui passando como parâmetro o modelo da lista1 e ponho esse parâmetro como modelo da lista2.

Criado 4 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 6
Participantes 3