diff options
Diffstat (limited to 'src/main/java/com/beust/jcommander/JCommander.java')
-rw-r--r-- | src/main/java/com/beust/jcommander/JCommander.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java index efde39e..4f2929e 100644 --- a/src/main/java/com/beust/jcommander/JCommander.java +++ b/src/main/java/com/beust/jcommander/JCommander.java @@ -1263,7 +1263,10 @@ public class JCommander { String optionName = names.length > 0 ? names[0] : "[Main class]"; if (converterClass != null && converterClass.isEnum()) { try { - result = Enum.valueOf((Class<? extends Enum>) converterClass, value.toUpperCase()); + result = Enum.valueOf((Class<? extends Enum>) converterClass, value); + if (result == null) { + result = Enum.valueOf((Class<? extends Enum>) converterClass, value.toUpperCase()); + } } catch (Exception e) { throw new ParameterException("Invalid value for " + optionName + " parameter. Allowed values:" + EnumSet.allOf((Class<? extends Enum>) converterClass)); |