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