首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

Reflection 一问

  •  
  •   qwertyegg · 62 天前 · 234 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下面这段代码,为什么第二行和第三行的第二 /三个参数都是 kotlin.Unit,而不是 kotlin.Int 和 kotlin.String

    fun main(){
        println(Foo::foo.parameters)
        println(Foo2::foo.parameters)
        println(Foo3::foo.parameters)
    }
    
    class Foo{
        fun foo(x: Int, y: String): Boolean{
            return true
        }
    }
    
    class Foo2{
        fun foo(x: Int, y: String): Unit{
            return
        }
    }
    
    class Foo3{
        fun foo(x: Int, y: String){
            return
        }
    }
    

    输出

    [instance of fun Foo.foo(kotlin.Int, kotlin.String): kotlin.Boolean, parameter #1 x of fun Foo.foo(kotlin.Int, kotlin.String): kotlin.Boolean, parameter #2 y of fun Foo.foo(kotlin.Int, kotlin.String): kotlin.Boolean]
    [instance of fun Foo2.foo(kotlin.Int, kotlin.String): kotlin.Unit, parameter #1 x of fun Foo2.foo(kotlin.Int, kotlin.String): kotlin.Unit, parameter #2 y of fun Foo2.foo(kotlin.Int, kotlin.String): kotlin.Unit]
    [instance of fun Foo3.foo(kotlin.Int, kotlin.String): kotlin.Unit, parameter #1 x of fun Foo3.foo(kotlin.Int, kotlin.String): kotlin.Unit, parameter #2 y of fun Foo3.foo(kotlin.Int, kotlin.String): kotlin.Unit]
    
    目前尚无回复
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2231 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 12:11 · PVG 20:11 · LAX 05:11 · JFK 08:11
    ♥ Do have faith in what you're doing.