Kotlin:为什么一元加/减不能从任务推断generics?
为什么一元加/减不能从派生中推断generics?
使用invoke
,例如: inline operator fun invoke(): T
你可以调用方法,并能够使用它…例如val foo: Long = this()
但是,以同样的方式使用unaryPlus
或unaryMinus
不起作用。
方法签名: inline operator fun unaryPlus(): T
非工作电话: val foo: Long = +this
运算符必须声明为扩展函数或某个类的成员:
inline operator fun T.unaryPlus(): T = this
那么你可以在任何T上使用它:
fun main(args: Array) { data class Type(val value: Int) val foo = +Type(42) }