Você tá usando o Java 5, certo?
Eu estava obtendo esses warnings quando não estava usando templates, depois que passei a fazer:
private ArrayList<String> lista = new ArrayList<String>();
Os warnings não apareceram mais. Certifique-se que você está fazendo exatamente como acima.
Sobre o ArrayList e List: List é uma interface e o ArrayList implementa ela, então tanto faz, você pode fazer dos dois jeitos. Mas observe o detalhe:
List m = new ArrayList();
m = new Vector(); //correto!
ArrayList a = new ArrayList();
a = new Vector(); //errado!
A segunda opção tá errada pois são tipos diferentes. E no seu código eu mudei por hábito mesmo, acho que fica mais claro, já que só usamos ArrayList();
Deve existir situações mais interessantes de exemplo, por favor, quem puder complementar… 
[]s