[threeten-dev] Issues for some methods in ChronoField

Patrick Zhang patrick.zhang at oracle.com
Thu May 9 20:50:06 PDT 2013


Hi Team,

It looks the valueOf(String name), getName() and toString() are 
incompatible.
For example,
===========
         System.out.println(ChronoField.SECOND_OF_DAY.getName());
         System.out.println(ChronoField.SECOND_OF_DAY.toString());
===========
Both of them will print "SecondOfDay".

But if you try below, it will throw exception:
         System.out.println(ChronoField.valueOf("SecondOfDay"));

FYI, below code works well:
         System.out.println(ChronoField.valueOf("SECOND_OF_DAY"));


Personally I do not think it make sense. As one application engineer, I 
would believe below code should work:
=========
for(ChronoField field: ChronoField.values()){
                 assertEquals(ChronoField.valueOf(field.getName()), field);
         }
=========

Regards
Patrick


More information about the threeten-dev mailing list