Conceptos básicos de Java (Tostring () y equals ())

1. Override ToString () método

El método toString () de Object nos ayuda a devolver una cadena cuyo formato es fijo: nombre de clase @hashcode.

  • Rol: Devuelve una representación de cadena del objeto. Los datos por defecto no tienen sentido para nosotros, y generalmente se recomienda anular este método.
  • Caso:
  • package day0528;
    //所有类都默认继承object类
    public class demo2 {
        public static void main(String[] args) {
             Student student=new Student();
            student.age=18;
            student.name="yyy";
            student.sex="女";
            System.out.println(student.toString());
        }
    }
    class Student{
        String name;
        String sex;
        int age;
    
        //重写ToString方法,在方法里面,打印所有属性的值
        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", sex='" + sex + '\'' +
                    ", age=" + age +
                    '}';
        }
    }

 

2. Método de anulación de equals ()

  • Rol: Se usa para comparar si dos objetos son iguales

Nota:

           Lo primero cuando se reescribe igual es determinar si un objeto dado es del mismo tipo que el objeto actual. Si no es del mismo tipo, devuelve directamente falso, que no es comparable. Antes de la comparación igual, se requiere verificación de seguridad para garantizar que el objeto dado no sea nulo. Si obj es nulo, significa que la variable de referencia no apunta a ningún objeto, entonces no puede hacer referencia a la propiedad o método del objeto al que apunta obj (porque el objeto no existe). Hacerlo causará NullPointerException, ¡excepción de puntero nulo!

  • Caso:
package day0528;
//重写equals方法
public class demo3 {
    public static void main(String[] args) {
        Student1 s1=new Student1("yyy",18);
        Student1 s2=new Student1("yyy",18);
        Student1 s3=new Student1("wtc",18);
        System.out.println("s1.equals(s2)"+s1.equals(s2));
        System.out.println("s1.equals(s3)"+s1.equals(s3));
    }
}
class Student1{
    String name;
    int age;
    public Student1(String name,int age){
        this.name=name;
        this.age=age;
    }
    @Override
    public boolean equals(Object obj){
        if(this==obj){
            return true;
        }
        if(!(obj instanceof Student1)){
            return false;
        }
        Student1 objStudent=(Student1)obj;
        if(this.name.equals(objStudent.name) && this.age==objStudent.age){
            return true;
        }
        return false;
    }
}

 

Publicado 75 artículos originales · elogiados 164 · 110,000 visitas

Supongo que te gusta

Origin blog.csdn.net/qq_41679818/article/details/90678329
Recomendado
Clasificación