Checking all fields in TimeUnit.class:
package com.logicbig.example.field;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
public class IsEnumConstantExample2 {
public static void main(String... args) {
Field[] declaredFields = TimeUnit.class.getDeclaredFields();
Arrays.stream(declaredFields)
.forEach(f ->
System.out.printf("Field name: %-12s, isEnumConstant: %s%n",
f.getName(), f.isEnumConstant()));
}
}
Output
Field name: NANOSECONDS , isEnumConstant: true
Field name: MICROSECONDS, isEnumConstant: true
Field name: MILLISECONDS, isEnumConstant: true
Field name: SECONDS , isEnumConstant: true
Field name: MINUTES , isEnumConstant: true
Field name: HOURS , isEnumConstant: true
Field name: DAYS , isEnumConstant: true
Field name: NANO_SCALE , isEnumConstant: false
Field name: MICRO_SCALE , isEnumConstant: false
Field name: MILLI_SCALE , isEnumConstant: false
Field name: SECOND_SCALE, isEnumConstant: false
Field name: MINUTE_SCALE, isEnumConstant: false
Field name: HOUR_SCALE , isEnumConstant: false
Field name: DAY_SCALE , isEnumConstant: false
Field name: scale , isEnumConstant: false
Field name: maxNanos , isEnumConstant: false
Field name: maxMicros , isEnumConstant: false
Field name: maxMillis , isEnumConstant: false
Field name: maxSecs , isEnumConstant: false
Field name: microRatio , isEnumConstant: false
Field name: milliRatio , isEnumConstant: false
Field name: secRatio , isEnumConstant: false
Field name: $VALUES , isEnumConstant: false
package com.logicbig.example.field;
import java.lang.reflect.Field;
import java.util.Arrays;
public class IsEnumConstantExample3 {
public static void main(String... args) {
Field[] declaredFields = MyEnum.class.getDeclaredFields();
Arrays.stream(declaredFields)
.forEach(f ->
System.out.printf("Field name: %-12s, isEnumConstant: %s%n",
f.getName(), f.isEnumConstant()));
}
private static enum MyEnum {
A, B, C
}
}
Output
Field name: A , isEnumConstant: true
Field name: B , isEnumConstant: true
Field name: C , isEnumConstant: true
Field name: $VALUES , isEnumConstant: false
Note that $VALUES field is related to values() method in an enum (check out this example as well).