From 810e2eac40ca29e1c37d345c1af01b6f44132e7e Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 20 Nov 2020 16:21:30 -0500 Subject: [PATCH 1/2] Use Objects.equals(). --- .../org/apache/commons/csv/CSVFormat.java | 31 ++++--------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/src/main/java/org/apache/commons/csv/CSVFormat.java b/src/main/java/org/apache/commons/csv/CSVFormat.java index c00f993f29..734347c141 100644 --- a/src/main/java/org/apache/commons/csv/CSVFormat.java +++ b/src/main/java/org/apache/commons/csv/CSVFormat.java @@ -45,6 +45,7 @@ import java.sql.SQLException; import java.util.Arrays; import java.util.HashSet; +import java.util.Objects; import java.util.Set; /** @@ -830,32 +831,16 @@ public boolean equals(final Object obj) { if (quoteMode != other.quoteMode) { return false; } - if (quoteCharacter == null) { - if (other.quoteCharacter != null) { - return false; - } - } else if (!quoteCharacter.equals(other.quoteCharacter)) { + if (!Objects.equals(quoteCharacter, other.quoteCharacter)) { return false; } - if (commentMarker == null) { - if (other.commentMarker != null) { - return false; - } - } else if (!commentMarker.equals(other.commentMarker)) { + if (!Objects.equals(commentMarker, other.commentMarker)) { return false; } - if (escapeCharacter == null) { - if (other.escapeCharacter != null) { - return false; - } - } else if (!escapeCharacter.equals(other.escapeCharacter)) { + if (!Objects.equals(escapeCharacter, other.escapeCharacter)) { return false; } - if (nullString == null) { - if (other.nullString != null) { - return false; - } - } else if (!nullString.equals(other.nullString)) { + if (!Objects.equals(nullString, other.nullString)) { return false; } if (!Arrays.equals(header, other.header)) { @@ -870,11 +855,7 @@ public boolean equals(final Object obj) { if (skipHeaderRecord != other.skipHeaderRecord) { return false; } - if (recordSeparator == null) { - if (other.recordSeparator != null) { - return false; - } - } else if (!recordSeparator.equals(other.recordSeparator)) { + if (!Objects.equals(recordSeparator, other.recordSeparator)) { return false; } if (!Arrays.equals(headerComments, other.headerComments)) { From 724c43fe4e0ce559ae7effc3be82d01d5f1f3a00 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 20 Nov 2020 16:40:12 -0500 Subject: [PATCH 2/2] Use Objects.hash(). --- .../org/apache/commons/csv/CSVFormat.java | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/apache/commons/csv/CSVFormat.java b/src/main/java/org/apache/commons/csv/CSVFormat.java index 734347c141..cd19936968 100644 --- a/src/main/java/org/apache/commons/csv/CSVFormat.java +++ b/src/main/java/org/apache/commons/csv/CSVFormat.java @@ -1061,28 +1061,10 @@ public boolean getTrim() { @Override public int hashCode() { - final int prime = 31; - int result = 1; - - result = prime * result + delimiter; - result = prime * result + ((quoteMode == null) ? 0 : quoteMode.hashCode()); - result = prime * result + ((quoteCharacter == null) ? 0 : quoteCharacter.hashCode()); - result = prime * result + ((commentMarker == null) ? 0 : commentMarker.hashCode()); - result = prime * result + ((escapeCharacter == null) ? 0 : escapeCharacter.hashCode()); - result = prime * result + ((nullString == null) ? 0 : nullString.hashCode()); - result = prime * result + (ignoreSurroundingSpaces ? 1231 : 1237); - result = prime * result + (ignoreHeaderCase ? 1231 : 1237); - result = prime * result + (ignoreEmptyLines ? 1231 : 1237); - result = prime * result + (skipHeaderRecord ? 1231 : 1237); - result = prime * result + (allowDuplicateHeaderNames ? 1231 : 1237); - result = prime * result + (trim ? 1231 : 1237); - result = prime * result + (autoFlush ? 1231 : 1237); - result = prime * result + (trailingDelimiter ? 1231 : 1237); - result = prime * result + (allowMissingColumnNames ? 1231 : 1237); - result = prime * result + ((recordSeparator == null) ? 0 : recordSeparator.hashCode()); - result = prime * result + Arrays.hashCode(header); - result = prime * result + Arrays.hashCode(headerComments); - return result; + return Objects.hash(delimiter, quoteMode, quoteCharacter, commentMarker, escapeCharacter, nullString, + ignoreSurroundingSpaces, ignoreHeaderCase, ignoreEmptyLines, skipHeaderRecord, allowDuplicateHeaderNames, + trim, autoFlush, trailingDelimiter, allowMissingColumnNames, recordSeparator, Arrays.hashCode(header), + Arrays.hashCode(headerComments)); } /**