Tag: 扩展函数

Kotlin:我怎样称呼super的扩展功能?

我怎样才能调用超级的扩展功能? 例如: open class Parent { open fun String.print() = println(this) } class Child : Parent() { override fun String.print() { print("child says ") super.print() // syntax error on this } }

Kotlin扩展日志功能与logback(slf4j)

我为记录创建了一个扩展函数: import org.slf4j.LoggerFactory fun Any.log(msg: String) { LoggerFactory.getLogger(javaClass.name).debug(msg) } 但是我不确定在任何时候它会被调用,因为方法LoggerFactory.getLogger调用getILoggerFactory 。 MB有人已经做了这样的事情,可以向我保证,这不会是任何内存泄漏:)? 现在我用老式的方法(在一个类中声明记录器字段): companion object { private val logger = LoggerFactory.getLogger(LoggerTest::class.java.name) } 但像这样一个简单的unit测试: @Test fun testLogger() { val start = System.currentTimeMillis() for (i in 0..999) { log("i=" + i) } val end = System.currentTimeMillis() val time = end – start println("*** TIME=" + time.toDouble() / […]