Duvida com jstl

Tava lendo a apstila da caelum, muito boa por sinal, mas fiquei em dúvida nas jstl, lá diz assim:

<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.ContatoDAO"/> <c:out value="${dao.lista[0].nome}"/> <c:out value="${dao.lista[0].email}"/>
Este ContatoDAO tem o método lista (que retorna uma List ) certo ? Mas neste dao.lista[0] não teria que ter um cast pra Contato? poque ele está retornando um List, ou pelo fato do List ter o ele já é reconhecido como tal ?

Isto mesmo.
No java 5 tem o Generics. Neste caso a List só aceita objetos do tipo Contato,
para não precisar fazer o Cast.
De uma olhada na parte de Generics.

Na verdade não existe a necessidade de dar um cast porque vocÊ não está retornando um list…vc esta acessando o método de ‘lista’ que retorna nome, ou seja, o getNome. Ou o método getNome do elemento que se encontra na posição 0 de ‘lista’.
Aqui podemos observar a importância da convenção, quanto ao uso dos getters and setters.

Sou novo no java também, então alguém me corrija se eu estiver errado :slight_smile: