合理的封装实例
实例一
经常会写一个方法判断传入的参数是否为空字符串,核心代码是null ==s || s.length()==0
。如果再需要写判读不为空的方法。不需要写null !=s && s.length()>0
的代码。只需要对判断为空的方法取反即可。
/**
* 判断是否 为空
* @param s
* @return
*/
public boolean isBlank(String s){
if(null ==s || s.length()==0){
return true;
}else{
return false;
}
}
/**
* 判断是否 不为空
* @param s
* @return
*/
public boolean isNotBlank(String s){
return !isBlank(s);
}
实例二
在我们写公共方法的时候需要考虑的全面一些。假设有个方法读取文件流对象,打印一行数据。传入参数目前是文件流,以后可能是文件,可能是路径或者其他的。
public String readFile(InputStream inputStream) throws Exception {
InputStreamReader isr =new InputStreamReader(inputStream);
BufferedReader br =new BufferedReader(isr);
String result = br.readLine();
br.close();
isr.close();
return result;
}
public String readFile(File file) throws Exception {
FileInputStream fileInputStream =new FileInputStream(file);
return readFile(fileInputStream);
}
public String readFile(String path) throws Exception {
File file =new File(path);
return readFile(file);
}
实例三
由于方便常常引入第三方工具类如Stringutils。里面有个判断空的方法如下
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
假设有天由于其他原因,如数据迁移等导致字段空字段存成null,NULL字符串。此时也需要把null的字符串也当成空。此时如果工具类用的多了就比较麻烦了。其实可以新建一个自己的工具类,默认实现第三方工具类的方法。如果有天遇到如下的情况可以这样。
public class MyStringUtil {
public static boolean isEmpty(String s){
if("null".equalsIgnoreCase(s)){
return true;
}
return org.apache.commons.lang.StringUtils.isEmpty(s);
}
}
这种情况也常见在做java swing时。引入第三方的jar包对象。如果可以的话,建议新建一个自己的对象继承第三方。以后遇到需要改的可以统一修改。