java - 分类器 JSONObject 没有“伴生对象”,因此必须在此处初始化

标签 java intellij-idea kotlin companion-object

import org.json.JSONObject
JSONObject deviceInformation = ...

enter image description here

我尝试创建一个像这样的伴生对象,但并没有真正工作......对不起,Java 和 Kotlin 中的菜鸟...... enter image description here

是的,JSONObject 已使用

正确导入

导入 org.json.JSONObject

最佳答案

您使用的语法不正确。 Kotlin 中的变量声明如下:

[var/val] name: OptionalExplicitType = something

这意味着不允许使用 JSONObject var instance:...

将其更改为:

var instance: JSONObject = ...

设置它也很重要。由于看起来您正在尝试创建一个单例,因此您可以仅使用对象而不是类。

如果您想以老式方式进行操作,请将其设为可为空:

var instance: JSONObject? = null

然后检查是否为null,如果为null则初始化、设置并返回,否则返回当前值。

如果这不是您的目标,您仍然需要初始化它,除非您使其延迟初始化。但如果这样做,则需要在尝试访问它之前对其进行初始化,否则会引发异常。

关于java - 分类器 JSONObject 没有“伴生对象”,因此必须在此处初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746151/

相关文章:

java - 如何将 java 类与已经运行的守护进程连接

java - 如何从 IntelliJ 获取运行本地服务器的 Maven 项目

android - intellij 在 android xml 文件中说 "cannot find declaration to go to"

android - 如何使向上按钮返回而不是打开抽屉导航

kotlin - 我如何规避 Kotlin 的泛型类型差异约束

java - 在java中访问其类之外的私有(private)变量

java - 使用正则表达式从Java中的txt文件中获取引号之间的字符串

intellij-idea - 在 IntelliJ IDEA 中查看 lombok 生成的代码

android - 了解 PagingSource 的 getRefreshKey

java - Spring:使用 spring 的生命周期回调 'destroy-method' 比常规的 finalize() 方法有什么优势吗?