Java常用小工具

举报
芝士味的椒盐 发表于 2022/04/26 11:04:54 2022/04/26
【摘要】 ​ ​👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、大数据、运维、电子🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!! Lombok原理:​使用...

 

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
 


Lombok

  • 原理:



  • 使用注解的方式简化POJO的代码量,自动生成getter/setter/toString/EqualsAndHashCode

  • 使用步骤:

    1. idea集成lombok插件

    2. 在setting→Build,Execution...→Compiler→Annotation Processors中勾选Enable annotation...

    3. Maven或者Gradle添加lombook依赖,官方取的依赖需要去掉作用域使其编译阶段生效

      • Maven

        <!-- <https://mvnrepository.com/artifact/org.projectlombok/lombok> -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>
        
      • Gradle

        // <https://mvnrepository.com/artifact/org.projectlombok/lombok>
        compile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
        
    4. 使用注解

      注解:
      • @Data(包含以下所有注解)

        //每一个注解代替一个功能,就不用去生成了
         @Getter
         @Setter
         @RequiredArgsConstructor
         @ToString
         @EqualsAndHashCode
        

        @ Builder

        //创建对象的时候,可以随意根据自己的实际情况设置属性值,可以使用这个构造器,格式
        类名 对象名 =类名.builder().成员变量(值).build();
        

        @Slf4j

        @AllArgsConstructor

        @NoArgsConstructor

        @Accessors

      • 什么是链式调用?


        就是一条链的设置属性

      • @Accessors(chain=Boolean),false关闭链式调用,true开启链式调用

      • 无参构造
      • 全参构造
      • 使用log的方法即可设置日志输出

        //使用{}占位,可以传递动态参数
        log.info("[{}]","参数");
        
      • 使用前需要配合日志使用,需要导入坐标

        • Gradle

          compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
          
        • Maven

          // <https://mvnrepository.com/artifact/ch.qos.logback/logback-classic>
          compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
          

Hutool


  • Hutool是一个小而全面的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率
  • Hutool是项目中“util”包的友好替代,节省公用类和公用工具的封装时间,使开发专注于业务,避免封装不完善带来的bug

包含的组件

一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

Untitled

使用hutool


  • 项目构建导入依赖

    • Maven

      <!-- <https://mvnrepository.com/artifact/cn.hutool/hutool-all> -->
      <dependency>
          <groupId>cn.hutool</groupId>
          <artifactId>hutool-all</artifactId>
          <version>5.3.10</version>
      </dependency>
      
    • Gradle

      // <https://mvnrepository.com/artifact/cn.hutool/hutool-all>
      compile group: 'cn.hutool', name: 'hutool-all', version: '5.3.10'
      
  • Convert类型转换

    • Convert可以使用其的toXXX静态方法进行类型转换

    • 比如:字符串类型转换成时间类型

      						String mydate="2019/2/15";
                  Date date = Convert.toDate(mydate);
                  System.out.println(date);
      

    Tips:Tips:可以是用Arrays.toList将数组转化成集合

  • IO流操作

    • 参考如下文档:

      Hutool参考文档

    • 例子:

      BufferedInputStream In= FileUtil.getInputStream("C:\\\\Users\\\\shenj\\\\Desktop\\\\开发工具合集资料\\\\2.md");
              BufferedOutputStream out=FileUtil.getOutputStream("C:\\\\Users\\\\shenj\\\\Desktop\\\\开发工具合集资料\\\\3.md");
              long copy = IoUtil.copy(In, out);
              System.out.println("status:"+copy);
      

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。