zoukankan      html  css  js  c++  java
  • Java编程一些经验

    为了更好地书写安全和易于维护的java代码,现对于外部的一些java类库进行一些介绍,同时,对于常用的模式和编程技巧进行简要的描述。部分代码转自ImportNew。

    1.    Apache Commons

    StringUtils类主要处理字符串,包括字符串的截取、判断是否为空等使用的操作。

    ArrayUtils类主要处理数组,包括数组的常用操作。

    FileUtils类主要处理文件,包括文件的各种操作。Java API的文件处理有许多繁琐的操作,用这个工具类可以大大简化java的代码量。

    2.    Google Guava

    Files类提供了一些文件的处理,许多方法是Apache Commons包中都没有的方法,处理文件十分方便。

    处理前置条件,请使用Preconditions类中的checkArgument和checkNotNull方法。

    Null是java中比较难处理的东西,建议使用Optional进行null处理,这样会避免出现空指针异常。

    Strings类同样处理字符串数据,有一些Apache Commons中没有的方法。

     使用Maps、Sets、Lists类构造集合。

    3.    SLF4J

    存在有很多Java日志解决方案。我最喜欢的是SLF4J,因为它是一个可插入的且能同时联合许多不同的日志框架。

    它是一个日志框架,具体的日志实现可以是log4j或者log back。个人更加的倾向于用log back。据我所知log4j目前已经不进行维护了。

    4.    建造者模式

    如果我们要构建一个复杂的对象的时候,同时,这个对象对于每个实例可能有不同的构建方式的时候,最好选择建造者模式,代码如下:

    public class ComplicatedDataHolder {

        public final String data;

        public final int num;

        // lots more fields and a constructor

     

        public static class Builder {

            private String data;

            private int num;

     

            public Builder data(String data) {

                this.data = data;

                return this;

            }

     

            public Builder num(int num) {

                this.num = num;

                return this;

            }

     

            public ComplicatedDataHolder build() {

                return new ComplicatedDataHolder(data, num); // etc

            } 

        }

    }

    调用方式:

    final ComplicatedDataHolder cdh = new ComplicatedDataHolder.Builder()

        .data("set this")

        .num(523)

        .build();

    5.    时间库Joda-Time

    Java本身的API对于时间的处理很有限,有的时候,需要自己写一套处理时间的API,现在可以选择Joda-Time,查看这个jar包中是否有自己需要的方法,进行处理。

    6.    学会用TODO

    在Eclipse中的源代码中,对于只实现一部分的类或者方法可以使用//TODO进行标志。

    我们可以在Tasks中查看代码中哪个部分用了//TODO操作。协调开发的时候经常会使用//TODO标志。

  • 相关阅读:
    关于网页编码转换的几种方法
    java加载静态properties的方法
    js 点击 li 获取 设定的参数信息
    添加网关信息
    SQL 函数
    SQL Date函数
    SQL 视图(VIEW)
    SQL高级语法3
    SQL 约束
    SQL 创建表
  • 原文地址:https://www.cnblogs.com/our880tom/p/4729878.html
Copyright © 2011-2022 走看看