LinkedHashSet不是删除重复项

Saz*_*han -1 java collections set duplicate-removal linkedhashset

我使用LinkedHashSet删除重复的条目.但对于以下自定义模型,Set仍保留重复条目.请帮我找到错误.覆盖equals方法有什么问题吗?对于您的类型信息,我只在他们的电话,类型和状态相同时处理两个节点等于.

public class BlockNode { 
    public int id;
    public int type;
    public int status;
    public String phone;
    public String date;
    public String content;

    @Override
    public boolean equals(Object o) {
        return this.toString().equals(((BlockNode)o).toString());
    }

    @Override
    public String toString() {
        return "number:" + phone + " type:" + type + " status:" + status + "\n"; 
    }
}
Run Code Online (Sandbox Code Playgroud)

nos*_*sid 5

您还必须覆盖该方法hashCode.

@Override
public int hashCode() {
    return toString().hashCode(); 
}
Run Code Online (Sandbox Code Playgroud)