Porque nao funciona o colletions.sort

2 respostas
TASF

Bom dia gostaria de ordenar um list mas o eclipse mostra essa anotacao

//esta chamada o sort fica sublinhado de vermelho mandando renomear!!
 Collections.sort (listaPronta, new OrdenarIdNfe());
   


Multiple markers at this line
	- Line breakpoint:UploadServlet [line: 78] - doPost(HttpServletRequest, HttpServletResponse)
	- The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the 
	 arguments (Collection<BeanProdutosXML>, OrdenarIdNfe)
	- Line breakpoint:UploadServlet [line: 77] - doPost(HttpServletRequest, HttpServletResponse)

classe responsavel por ordenar

public class OrdenarIdNfe  implements Comparator<BeanProdutosXML>{
	 public int compare(BeanProdutosXML b1, BeanProdutosXML b2) {
	        return b1.getIdProduto().compareTo(b2.getIdProduto());
	    }
}

alguem pode me explicar pq do erro e como contornar?/
desde ja grato

2 Respostas

romarcio
Veja que a exceção é bem clara sobre o motivo:
- The method sort(List&lt;T&gt;, Comparator&lt;? super T&gt;) in the type Collections is not applicable for the arguments (Collection&lt;BeanProdutosXML&gt;, OrdenarIdNfe)
A assinatura do método sort() é essa:
sort(List&lt;T&gt;, Comparator&lt;? super T&gt;)
E ao que parece você está passando uma lista do tipo java.util.Collection
(Collection&lt;BeanProdutosXML&gt;, OrdenarIdNfe)
e não java.util.List, sendo assim, basta trocar o tipo de sua coleção para List.
TASF

Obrigado…

Criado 7 de agosto de 2015
Ultima resposta 11 de ago. de 2015
Respostas 2
Participantes 2