constructor - 如何在 Kotlin 的构建过程中修改 val 成员

标签 constructor kotlin final

在 Java 中,我可以修改 final构造函数中的成员。请看下面的例子

class Scratch {

  private final String strMember;

  public Scratch(String strParam) {
    this.strMember = strParam.trim();
  }        
}

Kotlin 有没有办法修改 val施工期间的成员,在这种情况下到 trim()它们在参数值被分配给字段之前。

如果没有,在不产生太多开销的情况下,推荐的解决方法是什么?

最佳答案

您可以向构造函数声明一个未用 val 标记的参数。或 var .这对构造函数来说是局部的,一旦类构造完成就会丢失。接受该参数并将其设置为您想要的任何内容。

class Scratch(str: String) {
    private val strMember = str.trim()
}

关于constructor - 如何在 Kotlin 的构建过程中修改 val 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51654158/

相关文章:

c++ - 为什么内联在这里不起作用?

c++ - 类继承代码不起作用

android - 屏幕旋转和 rxjava 后查看实例 null

java - 最终字段和不可变类

java - 如何将此 int 初始化为常量?

c++ - 在构造函数中初始化 vector - C++

C++自定义类型 vector 优化

java - 许多小模块,还是几个大模块以获得最佳构建性能?

kotlin - Aspectj 不适用于 kotlin

php - 其他语言中静态变量在 PHP 中的等价物是什么?