我的Jakarta+Commons

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Jakarta+Commons相关的知识,希望对你有一定的参考价值。

 conmom特点:可重用性    独立性    null的特殊处理:null非null,各个工具类提供了默认值,可以设置默认值



好玩的方法:

ArrayUtils   

   isEquals

   toMap      多位数组转换成Map


StringUtils

   IndexOfAny    IndexOfAnyBut    LastIndexOfAny 好处:省去多余的判断

   ContailOnly   ContainNone

   Left/Right/Mid    代替Substring

   Join        数组拼接成字符串

   Chop/Chop  '某时候'可以代替SubString

   Abbreviate  获取字符串的缩写形式...,一行代码省去了前台的js代码

   difference   返回int

   LevensteinDistance  比较两个字符串不同的地方

   leftPad/rightPad/center  拼接字符串

   

ClassUtills

   getAllInterfaces   获取所有的接口,父类



StringEscapeUtils    转义和反义

    escapehtml

    escapeJava

    escapejavascript

    escapeSql

    escapeXml



Builder包   使用CompatrteToBuilder重写toString

    compareToBulider

    Equalsbuidler

    HashCodeBuilder

    ToStringBuilder   建议抽象类重写toString方法   ToStringStyle样式



Math包

    Fraction     处理分数

    NumberUtils  处理数值:可以判断字符串是否是数字   获取数组的中max,min        StringUtils.isNumeric(String)判断字符串是否由数字组成 

    RandomUtils  处理随机数

    Range        范围,可以替换重复的判断


Time包

    StopWatch    一个方便的计时器

    FastDateFormat  线程安全的替代类

    DurationFormatUtils  格式化获取两个时间间的时间

       formatDurationHMS    将时间转化成时分秒的格式

       formatPeriod       对开始和结束进行格式

       formatDuration     以毫秒为单位的时间段进行格式化



BeanUtils

    getProperty和setProperty

    copyProperties存在类型转换    PropertyUtils速度更快,返回object


ConvertUtils  类型转化

    ...

     



Collection


    BoundedFifoBuffer 根据最大限制自我维护的map的集合


    可爱的Map:

    LazyMap   调用的时候才存储

    CaseInsensitiveMap  对大小写不敏感的map

    LRUMap    根据最大限制自我维护的map

    MultiKeyMap  多键一值  

    MultiHashMap 多值一键

    SingletonMap 不允许增删的Map

总结:javaBean  convert  map:BeanMap    BeanUtilsBean 



 算子:哎呦,不错哦

 数据根据评估结果采取相应的措施

 final  ArrayList<Object> array = new ArrayList<>();

        //评估

        Predicate isBad = new Predicate() {

            @Override

            public boolean evaluate(Object object) {

                Person p = (Person) object;

                return p.mark==1;

            }

        };

        //措施

        Closure closure = new Closure() {

            @Override

            public void execute(Object input) {

                array.add(input);

            }

        };

        //数据

        ArrayList<Object> obj = new ArrayList<>();

        Person p = new Person();

        p.setMark(1);

        Person pp = new Person();

        pp.setMark(2);

        obj.add(pp);

        obj.add(p);

        //匹配规则

        HashMap<Object, Object> map = new HashMap<>();

        map.put(isBad,closure);

        Closure cc = ClosureUtils.switchClosure(map);

        //数据依据评估采取措施

        CollectionUtils.forAllDo(obj,cc);




Base64   

    6*4=3*8  4个字符,每个字符占8位=3个字节,每个字节占8位


DigestUtil  md5加密



ExtendedProperties  分行   ,多值  转义  include 


Betwixt  一个很灵活的xml和JavaBean直接转换的工具类


Discovery   根据--服务--查获--服务提供者


CLI  命令行接口


Digester 模式匹配工具  规则  应用规则的文件

    




以上是关于我的Jakarta+Commons的主要内容,如果未能解决你的问题,请参考以下文章

我的Jakarta+Commons

jakarta / javax 命名空间下的 Weld 和 Undertow

Jakarta EE 2020战果总结

Jakarta EE 2020战果总结

Wildfly Undertow:jakarta.servlets.Servlet 没有实现 javax.servlet.Servlet

jakarta.xml.bind.annotation.XmlRootElement 是不是可用?