【发布时间】:2018-04-02 13:42:02
【问题描述】:
我目前正在尝试将一个小型应用程序从 java 转换为 kotlin,而无需重写所有内容,但是我遇到了泛型枚举的问题,因为 kotlin 不支持枚举中的泛型。
我在 java 中有以下枚举:
public enum Property {
LAST_VIEW(0, 1, Integer.class),
MAXIMIZED(2, false, Boolean.class),
private final int id;
private final String defaultValue;
private final Class<?> datatype;
<T> Property(final int id, final T defaultValue, final Class<T> datatype) {
this.id = id;
this.defaultValue = defaultValue == null ? null : defaultValue.toString();
this.datatype = datatype;
}
}
我将它用于通用属性 api,以验证我的默认值是否具有正确的类型,并进行一些运行时检查,以便在我犯错时立即提供适当的反馈。
有没有办法在 kotlin 中创建这样一个类,或者我应该考虑重构我的属性 api 吗?
【问题讨论】:
-
请举例说明如何使用枚举
标签: java generics enums kotlin