java - 为什么在 Kotlin 中 Room 的 @Database 获取实体为 arrayOf,而 Java 不获取数组?

标签 java android kotlin android-room

当我在Java中使用@Database定义Room的数据库时:

@Database(entities = {JustSomeEntity.class}, version = 1)

当我在 Kotlin 中使用 @Database 定义 Room 的数据库时:

@Database(entities = arrayOf(JustSomeEntity::class), version = 1)

请注意 Kotlin 版本中的 arrayOf

参见official docs for reference - 您可以在那里切换 Java/Kotlin 并查看。

这是某种 Java/Kotlin/注释怪癖吗?这是为什么?它从哪里来?

最佳答案

在 Java 中,花括号定义一个值数组。请参阅文档:

Alternatively, you can use the shortcut syntax to create and initialize an array:

int[] anArray = { 
   100, 200, 300,
   400, 500, 600, 
   700, 800, 900, 1000
};

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

关于java - 为什么在 Kotlin 中 Room 的 @Database 获取实体为 arrayOf,而 Java 不获取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61182906/

相关文章:

java - 从枚举中获取一定数量

Java 线程未启动?

java - InputStream - 处理网络变化

android - 测试 Activity 是否已使用 FLAG_ACTIVITY_CLEAR_TOP 启动

javascript - 如何使用 Kotlin 匿名类作为原生 JavaScript 函数的参数?

java - Vaadin:带有右上角标题的窗口

java - Jsoup, '>' 的问题相关转换

android - 包含部分 :How to identify which item of perticular section is clicked 的 ListView

java - Maven-publish gradle插件跳过版本

android - 单击 RecyclerView 后在主要 Activity 中更新 TextView