Buenas a todos.
Tengo implementado un programa en Java, y en una de las clases, que implementa la interfaz Comparable, tengo un warning en el método quitarCuenta(), le he dado unas cuantas vueltas pero no acabo de coger el warning, la clase cuenta con un atributo ArrayList, para almacenar las cuentas de cada cliente, todo funciona como se espera, pero el warning permanece.
Me gustaria si alguien a tenido experiencia con este tipo de Warning que me aclarará un poco de que se queja, porque lo podría configurar desde el hint para que no salga pero no me parece serio, prefiero saber que le pasa...
De antemano os agradezco la ayuda.
Posteo algo de código y el warning en sí:
private ArrayList<CuentaBancaria> cuentasCliente;
public ClienteBanca(String nom, String dni){
this.nombre=nom;
this.dni=dni;
this.cuentasCliente=new ArrayList<CuentaBancaria>();
}
public void quitarCuenta(long numC){
for (int i= 0; i < this.getCuentasCliente().size(); i++) {
if(this.getCuentasCliente().get(i).getNumeroCuenta() == numC)
this.getCuentasCliente().remove(i); //Aquí es donde apunta el warning, }
}
public int compareTo(Object o) {
ClienteBanca ord = (ClienteBanca)o;
int resp=0;
String este= this.getDni().substring(0, 8);
String otro= ord.getDni().substring(0, 8);
long esteDni = Long.parseLong(este);
long otroDni = Long.parseLong(otro);
resp= (int)((int) esteDni - otroDni);
return resp;
}
Warning:
Suspicious call to java.util.Collection.remove:
Given object cannot contain instances of int (expected CuentaBancaria)PD:Solo me cabe pensar que algo ocurre con la interfaz Comparable.
Saludos y Gracias.