android - 为什么 Intent 中的类有 "::class.java"后缀?

标签 android kotlin

Kotlin 中的 Intent :

val intent = Intent(this, OtherActivity::class.java)

为什么不能是:

val intent = Intent(this, OtherActivity)

?

最佳答案

该 Intent 构造函数的第二个参数需要您要创建的 Activity 的。虽然仅通过使用类名 OtherActivity 来获取类会很方便,但 Java(和 Kotlin)语法不支持这一点。

相反,Java 提供了 .class 语法(OtherActivity.class),Kotlin 为 Kotlin 类提供了::class,并且 ::class.java (OtherActivity::class.java) 用于 Java 类,这是 Intent 构造函数所需要的。

关于android - 为什么 Intent 中的类有 "::class.java"后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53801108/

相关文章:

android - android 模拟器上的 android 终端模拟器中的 sudo 访问(开发)

android - 无法导入我的自签名 CA,似乎无法识别原始目录

Android:如何发出 HTTP HEAD 请求?

kotlin - 为什么在 Kotlin 中调用空值时 toString 不抛出异常?

android kotlin - 手机锁定/屏幕关闭后运行的应用程序

java - SecurityException 不会从服务转发到其管理器

android - 重新安装 Android Studio 会导致我的 Google Maps API 无法显示在我的应用程序中吗?

kotlin - 为什么 BiPredicate.test 方法在 Kotlin 中不可见?

functional-programming - 如何从对象集合中提取Map,以键作为对象同一字段之一,并为实际对象赋值

java - Kotlin:集合既没有泛型类型也没有 OneToMany.targetEntity()