众所周知,java没有办法设置默认参数,只有通过函数的重载的性质来完成对默认参数的设置。 例如: 为了是的函数能最大形式的通用,会传入正则表达式,但在大部分情况下,使用默认的参数就够了,所以就对removeSpace函数进行了重载。
public static String removeSpace(String content){
String defeat = "([^。! :))])\n([^x00-xff])";
return removeSpace(content,defeat);
}
public static String removeSpace(String content,String regex){
String regexStr = "";
if ( regex != null && regex.length() > 0){
regexStr = regex;
}
return content.replaceAll(regexStr, "$1$2");
}
但是如果函数可以重载,那么构造方法可以进行重载吗? 答案是可以的,但是不是类似的函数重载的方式,略有所区别。将使用this来代替构造方法。
public class Article {
public Article(){
super();
}
public Article(String content, String title) {
// TODO Auto-generated constructor stub
this(content,title,"");
}
public Article(String content, String title, String patternFile) {
// TODO Auto-generated constructor stub
init(patternFile);
this.title = title;
this.content = content;
}
}