我的 Kotlin 类TimeUtils有一个密封类声明为:sealed class TimeUnit { object Second : TimeUnit() object Minute : TimeUnit()fun setTimeOut(timeout : TimeUnit) { // TODO something}我的 Java 类正在调用setTimeOut如下方法:TimeUtils obj = new TimeUtils();if (some condition) { obj.setTimeOut(TimeUtils.TimeUnit.Minute); // ERROR} else if (some other condition) { obj.setTimeOut(TimeUtils.TimeUnit.Second); // ERROR}我在以上 2 行中收到错误说明expression required。任何人都可以帮助我如何解决它?
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
您应该按如下方式调用该函数:
obj.setTimeOut(TimeUtils.TimeUnit.Minute.INSTANCE);
这是因为object Minute会被编译成下面的Java代码:
public final class Minute {
public static final Minute INSTANCE;
private Minute() {
}
static {
Minute var0 = new Minute();
INSTANCE = var0;
}
}
添加回答
举报
0/150
提交
取消