reflection - 我可以在纯 Kotlin 中通过类名实例化一个对象吗
问题描述
纯 Kotlin 中以下 Java 代码的等价物是什么?
Class.forName(className).newInstance()
假设我们在一个 Kotlin 多平台项目中。
解决方案
这将在 JVM 上的 Kotlin 中按原样工作,因为 Kotlin 被编译为可通过 Java 反射获得的 JVM 类,因此您也可以在 Kotlin 中使用这行代码。
对于其他 Kotlin 平台(Kotlin/JS、Kotlin/Native),目前没有适当的反射支持,因此在这些平台上运行时不能这样做。
推荐阅读
- amazon-web-services - 精确计数不适用于 aws ec2 模块的 ansible
- flutter - 在颤振中使用 Provider 在路由之间传递数据的最佳方式是什么?
- linux - ping 测试 if-else 案例
- java - 通过套接字(android)连接到我附近的所有手机
- docker - Docker启用了用户名空间,容器开始失败
- php - 通过 PHP Api 脚本接收 GET 请求中的值数组
- java - 如何从 Mouseevents 中隐藏 JComponent 的一部分?例如,JButton 的某些区域没有反应,休息很好
- java - 我的警报管理器无法在后台运行
- arrays - 使用 postgres 中的 json_array_elements 将 json 数组值转换为多行
- apache - apache: Forbidden 你没有权限访问,连文件夹都有权限