zoukankan      html  css  js  c++  java
  • 合理的封装实例

    合理的封装实例

    实例一

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

  • 相关阅读:
    Grunt jshint Warning: Path must be a string . Received null Use
    bootstrap滚动监视原理实现
    Bootstrap模态框原理分析及问题解决
    LeetCode54. 螺旋矩阵
    LeetCode53. 最大子序和
    mysql servers实现层拼写SQL
    easyUI 分页 获取页面
    excel导入功能
    easyUI遮罩
    uuid生成
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/14107316.html
Copyright © 2011-2022 走看看