List.contains(Object object)的改造

默认List.contains(Object object)用的是对象的equals方法判断,而equals用的是==比较对象的地址,如果对象属性值相同但地址不同的不同对象,始终返回false。

如果想只要属性值一致不管地址都认为相同,则需要改进对象的equals方法:

package com.feng.lejuan.entity;

public class QuestionInfo {

    private String questionId;
    
    private String answerId;
    
    private String subQuestionId;
    
    private String result;

    public QuestionInfo() {
        super();
        
    }

    public QuestionInfo(String questionId, String answerId,
            String subQuestionId, String result) {
        super();
        this.questionId = questionId;
        this.answerId = answerId;
        this.subQuestionId = subQuestionId;
        this.result = result;
    }

    public String getQuestionId() {
        return questionId;
    }

    public void setQuestionId(String questionId) {
        this.questionId = questionId;
    }

    public String getAnswerId() {
        return answerId;
    }

    public void setAnswerId(String answerId) {
        this.answerId = answerId;
    }

    public String getSubQuestionId() {
        return subQuestionId;
    }

    public void setSubQuestionId(String subQuestionId) {
        this.subQuestionId = subQuestionId;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    @Override
    public boolean equals(Object o) {
        if (o instanceof QuestionInfo) {
            QuestionInfo question = (QuestionInfo) o;
            return this.questionId.equals(question.questionId)
                    && this.subQuestionId.equals(question.subQuestionId)
                    && this.answerId.equals(question.answerId)
                    && this.result.equals(question.result);
        }
        return super.equals(o);
    }
    
    @Override
    public String toString() {
        return "QuestionInfo [questionId=" + questionId + ", answerId="
                + answerId + ", subQuestionId=" + subQuestionId + ", result="
                + result + "]";
    }
    
}

 

posted @ 2018-02-12 12:02  稚语希听  阅读(210)  评论(0)    收藏  举报