日期:2014-05-20  浏览次数:20848 次

关于java中用String类型作为参数是设置默认值的问题!!
各位高手,请问:
java中我想用String类的对象引用作为函数的参数,并为期设置默认值,为什么IDE不允许
如: void function(String str1 = "string1", String str2 = "string2"){}
但IDE老是报错,不允许我这样做
这是为什么?
能够帮我想个办法设置String的默认值吗?

------解决方案--------------------
void function(String str1 = "string1", String str2 = "string2"){} 

这个是c++的写法吧。

java 你就传值就行了。
------解决方案--------------------
Java本身不支持默认值 ,如果你希望这样,其实可以换一个方法的

public void methodA() {
methodA(0);
}
public void methodA(int index) {
doSomeThing(index);
}
------解决方案--------------------
方法重载
void function(){
String str1 = "string1";
String str2 = "string2";
}
void function(String str1){

String str2 = "string2";
}
void function(String str1,String str2){

}

------解决方案--------------------
探讨
引用:调用方法的时候把值传里面就性了撒,为什么非要定义一个默认值,那样的话还不如不用方法来调用


我就是懒嘛~~
我想如果有这样的函数:void function(String str1 = "123" , String str2 = "321"){}
这样我用function();  function("xxx"); function("xxx","yyy");都可以调用上面的函数,而且不用那么麻烦地去重载函数。如果参数个数多的话,我不得重载个没完了~~

------解决方案--------------------
java 不支持这种写法,只能用函数重载,就是3楼写的那样