我写了这段代码:
@Deprecated("Old stuff", ReplaceWith("test2"))
fun test1(i: Int) {
println("old Int = $i")
}
fun test2(i: Int) {
println("new Int = $i")
}
fun main(args: Array<String>) {
test1(3)
}
由于某种原因,当我按Alt + Enter并单击“用test2
替换”时,方法test1
消失了并且没有被替换,我在做什么错了?
编辑:
它确实适用于课程:
@Deprecated("Old stuff", ReplaceWith("Test2"))
class Test1
class Test2
fun main(args: Array<String>) {
val a = Test1()
}
答案 0 :(得分:3)
您需要说明如何准确地替换它...虽然我不知道为什么它被完全删除了,但我将向您展示我的意思:
如果要改用以下内容:
@Deprecated("Old stuff", ReplaceWith("test2(i)"))
它将正确替换您对test1(5)
的{{1}}呼叫。
还请注意,有时,如果您不清楚应该进行哪个替换,则可能还需要添加软件包名称,例如:
test2(5)
如果需要,还可以在替换中使用静态值。