合理的封装实例

合理的封装实例

实例一

经常会写一个方法判断传入的参数是否为空字符串,核心代码是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包对象。如果可以的话,建议新建一个自己的对象继承第三方。以后遇到需要改的可以统一修改。

posted @ 2020-12-09 10:43  妖君你好  阅读(97)  评论(0编辑  收藏  举报