tengo la clase ClassPaciente
public class ClassPaciente {
private String Codigo,apellido,nombre;
private double dias,costodia,pago=0;
public ClassPaciente(String Codigo, String apellido, String nombre, double dias, double costodia) {
this.Codigo = Codigo;
this.apellido = apellido;
this.nombre = nombre;
this.dias = dias;
this.costodia = costodia;
}
public double Calculo ( double dias , double costodia ){
pago=dias * costodia;
return pago;
}
@Override
public String toString() {
return "ClassPaciente{" + "Codigo=" + Codigo + ", apellido=" + apellido + ", nombre=" + nombre + ", dias=" + dias + ", costodia=" + costodia +", Pago " + Calculo(dias, costodia) + '}';
}
}
En un formulario he insertado los datos en la Clase y en un arraylist
Boton para insetar datos
Codigo = txtCod.getText();
apellido=txtApe.getText();
nombre=txtNom.getText();
dias = Double.parseDouble(txtDias.getText());
costodia= Double.parseDouble(txtCostDia.getText());
ClassPaciente pas = new ClassPaciente(Codigo, apellido, nombre, dias, costodia);
txtpay.setText(""+ pas.Calculo(dias, costodia) );
// esta inicializado ArrayList lista = new ArrayList();
lista.add(pas);
Iterator<ClassPaciente> iter = lista.iterator();
atpaciente.setText(null);
while (iter.hasNext()) {
atpaciente.append(iter.next()+"\n");
}
Necesito un botón para que escribiendo el Código del del paciente pueda eliminar el dato del arraylist e imprima la lista nueva mente para ser comprobado
he intentado hacer algo asi pero el dato no se elimina
while (iter.hasNext()){
pas=iter.next();
if(pas.getCodigo()= Codigo){
iter.remove();
}
}
atpaciente.setText(null);
while (iter.hasNext()) {
atpaciente.append(iter.next()+"\n");
}
Por un lado, no puedes utilizar el signo "=" para comparar. Este signo es el operador de asignación (da un valor), no de comparación. El signo de comparación para comparar datos primitivos o direcciones de memoria es "==".
Por otro lado, en tu caso no quieres comparar ni un dato primitivo (int, float, char, ...) ni una dirección de memoria sino el contenido de un objeto (String). Para ello necesitas utilizar el método equals().