为什么序列化后String不相等了

    Person person1 = new Person();
    person1.setName("ccy");
    person1.setAge(20);
    Person person2 = person1.deepClone();     // 调用序列化方法
    System.out.println(person1.getName()==person2.getName());     flase
    System.out.println(person1.getAge()==person2.getAge());   true

不是指向常量池的ccy吗??

字符串内容比较要用equals, ==比较一般是地址的,克隆是重新创建对象,所以不相等

引用类型需要使用equals来判断是否相等

你深拷贝了呀,所以地址不相等了,但是内容还是相同的;