【干货分享】通用工具类

简介:

   项目实战中不论是业务编码还是通用编码,总会归纳出一些通用的工具类。

   放入项目中一劳永逸,让兄弟姐妹们避免编写重复代码。

   公司研发团队经过几个项目的洗礼,沉淀和积累了许多通用工具类。

   自己抽空将这些散落在多个项目中精致优雅的工具类,归纳起来形成工程。

   GitHub:https://github.com/OrsonEx/tool

   因为公司研发团队人来人往,或因事离职、或新老交替....

   有些类几经打磨,已难辨出自谁手,但代码带着他/她当时的意愿一直静静躺在项目工程中。

   工程使用 Maven 构建,其中仅仅引入 Apache-Common 的两个 jar。

复制代码
       <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>
复制代码

    你可以将工程中的工具类单独粘贴到你的项目中,当然也可以整体输出为 jar(单独输出的 jar 只有79KB) 引入项目中。

工程类概览

  • ArrayUtil  ----->数组通用工具类
  • BrowserUtil ----->浏览器通用工具类
  • ClassLoaderUtil ----->类加载通用工具类
  • ClassUtil ----->类通用工具类
  • CollectionUtil ----->集合通用工具类
  • DateUtil ----->日期通用工具类
  • FileUtil ----->文件通用工具类
  • IOUtil ----->输入输出通用工具类
  • JVMRandom ----->随机数通用工具类
  • NumberUtil ----->数值通用工具类
  • ObjectUtil ----->对象通用工具类
  • PropertiesLoader ----->配置文件加载读取通用工具类
  • ReflectionUtils ----->反射通用工具类
  • RMButil ----->人民币通用工具类
  • SecurityUtil ----->安全通用工具类
  • StringUtil ----->字符串通用工具类
  • WebContainerUtil ----->容器通用工具类
  • ZipUtil ----->压缩通用工具类

   类中方法都有详细的注释,并配有使用例子,基本上看方法名,就能够轻松驾驭。

   工具类中方法很多(只贴了其中两个代码),其余我不罗列了。

   有兴趣将工程 clone 到本地,自己跑起来看看。

复制代码
    // ==========================================================================
    // 取得context class loader的方法。
    // ==========================================================================

    /**
     * 取得当前线程的<code>ClassLoader</code>。需JDK1.5或更高版本的JDK的支持。
     *
     * return 当前线程的<code>ClassLoader</code>
     */
    public static ClassLoader getContextClassLoader() {
        return Thread.currentThread().getContextClassLoader();
    }
复制代码
复制代码
    /**
      *Description:截取指定长度的字符串
     * 与字符串 substring 方法相比,规避空字符串,长度不够截取等问题
      */
    public static String getSubString(String sOurce, int len) {
        if (isEmpty(sOurce)) {
            return "";
        }
        if (sOurce.length() <= len) {
            return sOurce;
        }
        return sOurce.substring(0, len);
    }
复制代码

   工程已开源在Git上,地址上面已给出,我也很真诚的邀请你,一起完善它。

 本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/6211183.html,如需转载请自行联系原作者

相关文章
|
Go
Go 语言 errgroup 库的使用方式和实现原理
Go 语言 errgroup 库的使用方式和实现原理
335 0
|
Prometheus 监控 Cloud Native
如何优化Java应用的内存使用
如何优化Java应用的内存使用
|
人工智能 监控 算法
AI计算机视觉笔记二十 八:基于YOLOv8实例分割的DeepSORT多目标跟踪
本文介绍了YOLOv8实例分割与DeepSORT视觉跟踪算法的结合应用,通过YOLOv8进行目标检测分割,并利用DeepSORT实现特征跟踪,在复杂环境中保持目标跟踪的准确性与稳定性。该技术广泛应用于安全监控、无人驾驶等领域。文章提供了环境搭建、代码下载及测试步骤,并附有详细代码示例。
1267 1
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
11月前
|
运维 监控 物联网
物联网卡:物联网卡网络不稳定的解决办法
物联网卡(IoT SIM卡)网络不稳定的问题可能由多种因素引起,包括网络覆盖、SIM卡状态、设备配置、服务提供商的网络问题以及数据使用量限制等。以下是一些解决物联网卡网络不稳定的操作建议:
|
12月前
|
存储 移动开发 定位技术
HTML5 Geolocation(地理定位)优化到最高精度
HTML5 Geolocation API 可让网页访问用户的地理位置信息。为优化地理定位精度,需考虑设备、浏览器设置、网络状况及编码实现。使用 `enableHighAccuracy` 选项请求高精度,并确保设备开启 GPS,网络良好。结合多种数据源(如 GPS、Wi-Fi)可提高准确性。利用 `watchPosition` 定期更新位置,并妥善处理定位错误。务必遵循用户隐私原则,获取同意并遵守相关法规。这样可有效提升地理定位的精度与用户体验。
|
11月前
|
人工智能 算法 BI
【算法】 线性DP(C/C++)
【算法】 线性DP(C/C++)
|
机器学习/深度学习 自然语言处理 搜索推荐
大模型技术在C端市场的三大应用场景
【1月更文挑战第15天】大模型技术在C端市场的三大应用场景
1010 2
大模型技术在C端市场的三大应用场景
|
JavaScript
Vue中给当前页面传递参数并重新加载,vue使用this.$router.push跳转页面,给跳转过去的页面传参不一致时重新加载
Vue中给当前页面传递参数并重新加载,vue使用this.$router.push跳转页面,给跳转过去的页面传参不一致时重新加载
674 0
|
关系型数据库 MySQL 数据库
Docker下安装MySQL
Docker下安装MySQL
456 0