当前位置: 首页 > 知识库问答 >
问题:

如何显式调用对象的init块?

轩辕越泽
2023-03-14
object MyClass {
    var editor: Editor = getDefaultEditor()
        set(value) {
            field = value

            //Todo: figure out how to avoid duplicating init block
            project = editor.project!!
            document = editor.document.charsSequence.toString().toLowerCase()
            findModel = FindManager.getInstance(project).findInFileModel.clone()
            findManager = FindManager.getInstance(project)
        }

    var project: Project
    var document: String
    var findModel: FindModel
    var findManager: FindManager

    init {
        project = editor.project!!
        document = editor.document.charsSequence.toString().toLowerCase()
        findModel = FindManager.getInstance(project).findInFileModel.clone()
        findManager = FindManager.getInstance(project)
    }
}

共有1个答案

厍书
2023-03-14

您可以使用lateInit对编译器说“稍后我将初始化该属性”。

lateinit var project: Project
lateinit var document: String
lateinit var findModel: FindModel
lateinit var findManager: FindManager

然后,可以在init块中省略初始化,并随时进行。

官方文件中的通知:

 类似资料:
  • 问题 你想调用一个对象上的多个方法,但不想每次都引用该对象。 解决方案 在每次链式调用后返回 this(即@)对象 class CoffeeCup constructor: -> @properties= strength: 'medium' cream: false sugar: false

  • 我编写了一个代码,从txt文件中提取一行,将其拆分为不同的字符串和整数,然后将其存储到数组列表中,作为一个名为Professor的对象。主类的代码为: 问题是如何在控制台中显示arraylist?以及如何访问ArrayList中的一个对象中的字符串? 提前致谢

  • 我在做一个数独游戏,我有“cell”类型的9x9对象(类扩展了JTextField),我想防止在用户不符合游戏规则的情况下关注其他JTextField对象——他的输入(1-9)不会在同一行或同一个“块”。要做到这一点,我需要知道他关注的具体对象。 我正在考虑这样做的一种方法是使用DocumentFilter。我已经将输入过滤为数字和1长度,但我不知道如何获取他关注的“单元格”对象,我很确定Docu

  • 问题内容: 我需要在onclick事件的调用对象上有一个处理程序 即 我想在不使用jquery的$()。click或$()。live的情况下执行此操作,但要使用上述方法。 问题答案: 传递内联点击处理程序 或在函数中使用根据[W3C DOM 2级事件模型 但是,当然,IE是不同的,因此处理此问题的原始JavaScript方法是 或更详细 其中是被传递到在比IE其他浏览器的功能。 如果您使用的是jQ

  • 问题内容: 我的模板看不到从Spring传递过来的对象。 我的代码: Contoller的代码: 主模板的代码: 片段的代码: 结果,我看到了方法调用的代码,例如 为什么thymeleaf不调用方法,而是在输出页上打印此文本?在http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html的示例中,方法调用具有相同的语法,例如 相同的代

  • 本文向大家介绍WordPress add_action-init-类对象内,包括了WordPress add_action-init-类对象内的使用技巧和注意事项,需要的朋友参考一下 示例