内部固定方法的异常行为

时间:2018-09-28 12:41:19

标签: android kotlin

我在onCreate()的{​​{1}}方法中拥有以下代码:

MainActivity

并且在同一个val map = mapOf(1 to "one", 2 to "two", 3 to "three") Log.e(TAG, "$map") 中,我有这样的中缀方法:

MainActivity

在这种情况下,一切都很正常,很合乎逻辑:

  

一个内部

     

两个内部

     

三个内部

     

{1 =一个,2 =两个,3 =三个}

但是如果我仅更改日志记录,则从

infix fun Any.to(other: Any) : Pair<Any, Any> {
        Log.e(TAG, "internal to $other")
        return Pair(this, other)
 }

Log.e(TAG, "internal to $other")

Logcat 的输出如下:

  

内部

     

内部

     

{1 =一个,2 =两个,3 =三个}

这似乎是不合逻辑的,不是吗?看来此Log.e(TAG, "internal to") 方法仅被调用了两次……为什么会发生这种情况?

PS 。我试图启用调试模式并将断点设置为行

to

,在这种情况下,方法Log.e(TAG, "internal to") 被调用了3次, Logcat 的输出与第一种情况(使用to)相同...

0 个答案:

没有答案