scala - multiple overloaded alternatives of method bar define default arguments
同名同位置默认参数不能overload
def bar(i:Int,s:String="a"){}
def bar(i:String,s:String="b"){}
编译错误: .... multiple overloaded alternatives of method bar define default arguments.
因为scala编译后,按默认的参数位置,生成这样的方法,导致重载冲突。
public String bar$default$2() {return "a";}
public String bar$default$2() {return "b";}
解决方案:部分解决,类似java的重载。
def bar(i:Int,s:String){}
def bar(i:String,s:String){}
def bar(i:Int) = bar(i,"a")
def bar(i:String) = bar(i,"b")
澄轶: suanec -
http://www.cnblogs.com/suanec/
友链:marsggbo
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
点个关注吧~
http://www.cnblogs.com/suanec/
友链:marsggbo
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
点个关注吧~