最近学了学C#, 我知道这样不专一不太容易深刻,没办法,就当玩吧。java
C#继承了C++一个很好的语音特性: 可选参数,就是一个函数的参数能够有缺省值,调用方若是没传,就用缺省值来代替,相似这样:数组
public void Join(string a, string b="") { return a+b; } public void test() { //这句会返回 This is; Join("This","is"); //这句会返回 Ok Join("Ok"); }
Java至今也没有这样简洁的语法,一般只能用函数重载来代替,当缺省参数多的时候,写起来巨麻烦,Java8的Optional类也是个挺丑陋的方案,具体的这里有人详细总结了(Java Optional Parameters --from stackoverflow)app
但使用时有两个注意事项:函数
public void Join(string a, string[] b=null) { return b==null ? a : a+ string.Join("",b); } public void test() { //这句会返回 This is an apple; Join("This",{" is"," an"," apple"}); //这句会返回 Ok Join("Ok"); }