1

我已经开始将我的一些代码从 Java 转换为 Kotlin。

其中一些是数据库模式类,包含不同列名的常量(我在这里使用 Android)。

我已经final classstatic常量修改了我的 Java,因此它是objectKotlin 中的常量(const):

object MySchema : BaseColumns {

    const val TABLE_NAME = "my_table"
    const val COL_TITLE = "title"
    const val COL_DETAIL = "detail"
    // ...

}

Android中的BaseColumns类基本上是这样的:

public interface BaseColumns {

    public static final String _ID = "_id";

    public static final String _COUNT = "_count";
}

但是,此代码现在无法编译:

// ContentValues values = ...
values.put(MySchema._ID, myThing.getId())

未解决的参考:_ID

这对我来说没有意义,因为MySchema实现了BaseColumns接口,因此应该继承它的字段。

在我将数据库模式类转换为 Kotlin 之前,未编译的代码能够编译 - 即:

public final class MySchema implements BaseColumns {

    // ...

}

我希望这是有道理的。

我在这里做错了什么?

4

0 回答 0