kotlin - 如何计算在 Kotlin 中创建的对象的数量?
问题描述
在下面的代码片段中,我创建了 4 个 CompanionClass 实例,并想知道我创建了多少个实例,所以尝试了很多方法但没有奏效。在这里,我使用伴随对象类来跟踪对象,但我知道它与对象没有联系,因为 keepTrackOfObjects() 是静态的。谁能帮我解决这个问题,好吗?
class CompanionClass
{
companion object{
var numberOfObjects = 0
fun keepTrackOfObjects() = println("number of created objects currently is: +
${++numberOfObjects}")
}
}
fun main()
{
val obj1 = CompanionClass()
CompanionClass.keepTrackOfObjects()
val obj2 = CompanionClass()`enter code here`
val obj3 = CompanionClass()
val obj4 = CompanionClass()
CompanionClass.keepTrackOfObjects()
}
// output is
// 1
// 2
解决方案
您可以使用该init
块来计算您创建的元素:
class CompanionClass {
companion object {
var counter: Int = 0
fun counter(): Int {
return counter
}
}
init {
counter++
}
}
您可以在这个kotlin playground中测试行为。
推荐阅读
- java - Jackson serialiser on Spring boot is stringifying my Strings
- mysql - MySQL - 将计数函数的结果划分为从单独列派生的列
- javascript - 我有向下滚动导航栏功能的问题
- jupyter - Jupyter Lab 导出为可执行保存位置
- terraform - 通过 Terraform 获取 google 存储对象的签名 URL
- java - Java同步与更严格的数据库隔离级别?
- c++ - 无递归初始化
- c# - DataAnnotationsValidator 和继承
- python - 在 XML 节点内打印小于/大于符号作为 python 中的值
- gcc - 如何阻止编译器假设八进制?