Skip to content

Instantly share code, notes, and snippets.

@amaembo
Created May 12, 2020 02:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amaembo/a62f163edf1e9e0e1010b45c44852a6f to your computer and use it in GitHub Desktop.
Save amaembo/a62f163edf1e9e0e1010b45c44852a6f to your computer and use it in GitHub Desktop.
import java.util.concurrent.TimeUnit;
public class AbstractEnumConverter<T extends Enum<T>> {
private final Class<T> enumClass;
private final T[] values;
protected AbstractEnumConverter(Class<T> enumClass) {
assert enumClass.isEnum();
this.enumClass = enumClass;
this.values = enumClass.getEnumConstants();
}
public T fromInt(int idx) {
return values[idx];
}
}
class TimeUnitConverter extends AbstractEnumConverter<TimeUnit> {
TimeUnitConverter() { super(TimeUnit.class);}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment