操作方法
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。
源代码: package edu.test.ch6; import java.awt.Color; public class Cat { private String name; private int age; private double weight; private Color color; public Cat(String name, int age, double weight, Color color) { super(); this.name = name; this.age = age; this.weight = weight; this.color = color; } public boolean equals(Object obj){ if(this==obj){ return true; } if(obj==null){ return false; } if(this.getClass()!=obj.getClass()){ return false; } Cat cat = (Cat)obj; return this.name.equals(cat.getName())&&this.age==cat.getAge()&&this.weight==cat.getWeight()&&this.color.equals(cat.getColor()); } public String toString(){ StringBuilder sb = new StringBuilder(); sb.append("name: " + name + "\n" ); sb.append("age: " + age + "\n"); sb.append("weight: " + weight + "\n"); sb.append("Color: " + color + "\n" ); return sb.toString(); } public int hashCode(){ return (name.hashCode()^age^(int) (Double.doubleToLongBits(weight))^color.hashCode()); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public Color getColor() { return color; } public void setColor(Color color) { this.color = color; } public static void main(String[] args) { Cat cat1 = new Cat("Java", 12, 21, Color.BLACK);// 创建猫咪1号 Cat cat2 = new Cat("C++", 12, 21, Color.WHITE); // 创建猫咪2号 Cat cat3 = new Cat("Java", 12, 21, Color.BLACK);// 创建猫咪3号 System.out.println("cat1:" + cat1);// 输出猫咪1号 System.out.println("cat2:" + cat2);// 输出猫咪2号 System.out.println("cat3" + cat3);// 输出猫咪3号 System.out.println("cat1 same to cat2:" + cat1.equals(cat2));// 比较是否相同 System.out.println("cat1 same to cat3:" + cat1.equals(cat3));// 比较是否相同 } }
运行结果
技术分析 重写toString方法时,为了给用户提供更多的信息,通常包含类中的变量和方法介绍。