SonarQube 8.9.1 + maven sonar plugin 3.9.0.2155
package com.example;
public class DestinatarioEmail {
private String mailTo;
private String mailCc;
private String mailBcc;
private DestinatarioEmail(){
}
public DestinatarioEmail(String mailTo) {
super();
this.mailTo = mailTo;
}
public DestinatarioEmail(String mailTo, String mailCc, String mailBcc) {
super();
this.mailTo = mailTo;
this.mailCc = mailCc;
this.mailBcc = mailBcc;
}
public String getMailTo() {
return mailTo;
}
public String getMailCc() {
return mailCc;
}
public String getMailBcc() {
return mailBcc;
}
public void setMailCc(String mailCc) {
this.mailCc = mailCc;
}
public void setMailBcc(String mailBcc) {
this.mailBcc = mailBcc;
}
@Override
public String toString() {
return "DestinatarioEmail [mailTo=" + mailTo + ", mailCc=" + mailCc + ", mailBcc=" + mailBcc + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((mailBcc == null) ? 0 : mailBcc.hashCode());
result = prime * result + ((mailCc == null) ? 0 : mailCc.hashCode());
result = prime * result + ((mailTo == null) ? 0 : mailTo.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof DestinatarioEmail)) {
return false;
}
DestinatarioEmail other = (DestinatarioEmail) obj;
if (mailBcc == null) {
if (other.mailBcc != null) {
return false;
}
} else if (!mailBcc.equals(other.mailBcc)) {
return false;
}
if (mailCc == null) {
if (other.mailCc != null) {
return false;
}
} else if (!mailCc.equals(other.mailCc)) {
return false;
}
if (mailTo == null) {
if (other.mailTo != null) {
return false;
}
} else if (!mailTo.equals(other.mailTo)) {
return false;
}
return true;
}
}
SonarQube raises S1206 violation (This class overrides “hashCode()” and should therefore also override “equals()”.) also if equals is present.