Passar como parâmetro um objeto do tipo List

Ola caros amigos, sou novo nessa área e estou quebrando muito a cabeça com certa questões no meu curso. Referente ao código abaixo a como passar como parâmetro um objeto do tipo List?

public static void inserirElementoLista(List<Number> im)
{
    try{
	im.add(323);
	im.add(258);
   }
   catch(Exception e)
  {
  }
}

primeiro: por que lombras vc meteu um try/catch ( o pior tipo de catch, diga-se de passagem - o vazio )?

segundo: qual é a sua duvida? seu codigo parece coerente

1 curtida

Olá… poderia fazer de uma forma diferente:

public static List <Integer> tmp;

   public static List<Integer> inserirElementoLista(List<Integer> im) {
             im.add(323);
             im.add(258);
             return im;
        }

     public static void testarLista(){
        List <Integer> recebeElementoLista = inserirElementoLista(tmp);
    }
1 curtida

Boa noite, obrigado pela atenção, mais queria uma explicação mais detalhada em relação a esse código se é possível passar como parâmetro um objeto do tipo List?

Amigo qual é o problema?

A assinatura do metodo ja recebe um objeto List

Isso compila? Faz o que vc quer?

List é uma interface. ArrayList e Vector implementam isso. Ta belezinha. O que mais vc precisa saber, por curiosidade?

Sim é possível, mas, você tem o contexto da aplicação do código, enunciado, algo que faça a pergunta direta e objetiva, desculpas está um pouco difícil entender?

Bom, isso foi um exercício passando em sala de aula!

Como posso acessar im.add(323) e im.add(258) para mostrar na tela?
Ate peço perdão pelo modo de como estou tentando me expressar mais é que ainda sou meio leigo em Java!

List<Integer> l = new ArrayList<>();
l.add(123);
l.add(456);
System.out.println("olha o que tem " + l.toString());

vai imprimir os numeros

2 curtidas

Para percorrer a Collection você pode usar o foreach , um exemplo:

List <Integer> recebeElementoLista = inserirElementoLista(tmp);

for (Integer numeros : recebeElementoLista) {
        System.out.println(numeros);
}
1 curtida

Tô com o mesmo problema… é possível passar como parâmetro um objeto do tipo List, sem precisar alterar essa parte do código?

public static void inserirElementoLista(List im)
{
try{
im.add(323);
im.add(258);
}
catch(Exception e)
{
}
}

O método está dizendo que aceita como parâmetro uma variável List.
List é uma interface.
Quem assina essa interface por exemplo no Java é ArrayList, Vector e LinkedList.

Então, esse método pode ser acessado por exemplo dessas maneiras:

List numbers = new ArrayList();
inserirElementoLista(numbers);

List numbers2 = new Vector();
inserirElementoLista(numbers2);

List number3 = new LinkedList();
inserirElementoLista(number3);

Digamos que o método está dizendo assim: “Não quero saber o tipo de lista que vc ta me mandando, só me manda uma coisa que seja Lista”

Sim…

1 curtida