• 合理的封装实例


    合理的封装实例

    实例一

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

  • 相关阅读:
    开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer
    Android JNI 学习(三):JNI 数据类型和数据结构
    Android JNI 学习(二):JNI 设计机制
    Android JNI 学习(一):JNI 简介
    Netty学习4—NIO服务端报错:远程主机强迫关闭了一个现有的连接
    elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接
    Eleaticsearch源码分析(一)编译启动
    elasticsearch6.3.1 安装以及配置IK 使用
    elasticsearch索引自动清理
    Java多线程之控制执行顺序
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/14107316.html
Copyright © 2020-2023  润新知