diff --git a/src/main/java/org/apache/commons/csv/CSVRecord.java b/src/main/java/org/apache/commons/csv/CSVRecord.java index b7bf53e7..471e94db 100644 --- a/src/main/java/org/apache/commons/csv/CSVRecord.java +++ b/src/main/java/org/apache/commons/csv/CSVRecord.java @@ -24,6 +24,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; /** * A CSV record parsed from a CSV file. @@ -65,7 +66,7 @@ public final class CSVRecord implements Serializable, Iterable { * @return the String at the given enum String */ public String get(final Enum e) { - return get(e.toString()); + return get(Objects.toString(e, null)); } /** diff --git a/src/test/java/org/apache/commons/csv/CSVRecordTest.java b/src/test/java/org/apache/commons/csv/CSVRecordTest.java index d13e84a7..476bac22 100644 --- a/src/test/java/org/apache/commons/csv/CSVRecordTest.java +++ b/src/test/java/org/apache/commons/csv/CSVRecordTest.java @@ -91,6 +91,11 @@ public class CSVRecordTest { assertThrows(IllegalArgumentException.class, () -> recordWithHeader.get(EnumFixture.UNKNOWN_COLUMN)); } + @Test + public void testGetNullEnum() { + assertThrows(IllegalArgumentException.class, () -> recordWithHeader.get((Enum) null)); + } + @Test public void testGetUnmappedName() { assertThrows(IllegalArgumentException.class, () -> assertNull(recordWithHeader.get("fourth")));