Organizar codigo para tirar Warnings

3 respostas
C

Pessoal tenho este codigo, só que fica me dando warnings, como posso arrumar este codigo para que ele pare de me dar warning.

ArrayList <CamposRelBeans> listaOrder = (ArrayList) sessao.getAttribute("listaCamposJaOrder");

mensagem:

The expression of raw type ArrayList is converted to ArrayList<CamposRelBeans>. References to generic type ArrayList<E> should be parameterized

eu insiro o ArrayList de um beans na sessao assim:

sessao.setAttribute("listaCamposJaOrder",listaBeans);

o codigo funciona numa boa, mas não queria que ficasse esse warning.

3 Respostas

A
ArrayList <CamposRelBeans> listaOrder = (ArrayList<CamposRelBeans>) sessao.getAttribute("listaCamposJaOrder");

Ainda não usei tipos genericos, mas pelo q andei lendo é isso aí.

P

opa…

olha , pra corrigir esse problema acho que o seu método getAttribute(String st) deveria ter como retorno ArrayList<CamposRelBeans>

bom, se ajudar olha um exemplo de uso de generics aqui:

[color=“green”]

public class UsandoGenerics {

    // declara uma lista de String
    private List<String> listaString = new ArrayList<String>();

    /* declara uma mapa que mapeia String para um List<String> */
    private Map<String, List<Integer>> mapaUm = new HashMap<String, List<Integer>>();

    // retorna uma lista de String.
    public List<String> getLista(){
        return listaString;
    }

    // retorna um valor do mapa (neste caso os valores são listas de Integer)
    public List<Integer> getValorMapaUm(String key){
        return mapaUm.get(key);
    }
    
    public void usando(){
        List<String> listaUm = getLista();
        List<Integer> listaDois = getValorMapaUm("");
    }
}

[/color]

P

xii... foi mal pela formatação :(
aí vai uma versão mais legivel :)

public class UsandoGenerics &#123;

    // declara uma lista de String
    private List&lt;String&gt; listaString = new ArrayList&lt;String&gt;&#40;&#41;;

    /* declara uma mapa que mapeia String para um List&lt;String&gt; */
    private Map&lt;String, List&lt;Integer&gt;&gt; mapaUm = new HashMap&lt;String, List&lt;Integer&gt;&gt;&#40;&#41;;

    // retorna uma lista de String.
    public List&lt;String&gt; getLista&#40;&#41;&#123;
        return listaString;
    &#125;

    // retorna um valor do mapa &#40;neste caso os valores são listas de Integer&#41;
    public List&lt;Integer&gt; getValorMapaUm&#40;String key&#41;&#123;
        return mapaUm.get&#40;key&#41;;
    &#125;
    
    public void usando&#40;&#41;&#123;
        List&lt;String&gt; listaUm = getLista&#40;&#41;;
        List&lt;Integer&gt; listaDois = getValorMapaUm&#40;&quot;&quot;&#41;;
    &#125;

&#125;
Criado 18 de agosto de 2005
Ultima resposta 18 de ago. de 2005
Respostas 3
Participantes 3