Collections.sort排序方法的最简化写法

Collections.sort排序方法的最简化写法

Collections.sort排序方法的最简化写法

假定按照Number对象的Id字段进行排序

正序排序

Collections.sort(resultList, Comparator.comparing(Number::getId));

逆序排序

Collections.sort(resultList, Comparator
                .comparing(Number::getId, Comparator.reverseOrder()));

初始化map集合长度最优值

  1. 假设我们期望集合中存放的元素的数量是num,那么需要将集合长度设置为(num/0.75 + 1)
  2. 或者使用guava包的Maps.newHashMapWithExpectedSize()方法来初始化map
  3. 优势:减少集合的扩容次数,属于是使用内存换性能.

参考:https://blog.csdn.net/csdn_ty/article/details/109742352

spring编程式事务实现

参考: https://blog.csdn.net/qq_33404395/article/details/83377382

Spring Boot之全局异常处理:404异常为何捕获不到?

spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false

参考:https://blog.csdn.net/w1014074794/article/details/106038996

kafka操作命令合集

https://juejin.cn/post/7022145069851361311

LocalDate获取某月第一天第一秒和最后一天最后一秒

/**
     * 获取某月份的第一天
     *
     * @param amount 传0获取当月第一天,传-1获取上个月第一天
     * @return
     */
    private LocalDateTime getFirstDayOfMonth(Integer amount) {
        LocalDate now = LocalDate.now();
        LocalDate date = now.plusMonths(amount);
        LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth());
        return LocalDateTime.of(firstDay, LocalTime.MIN);
    }

    /**
     * 获取某月最后一天
     *
     * @param amount 传0获取当月最后一天,传-1获取上个月最后一天
     * @return
     */
    private LocalDateTime getLastDayOfMonth(Integer amount) {
        LocalDate now = LocalDate.now();
        LocalDate date = now.plusMonths(amount);
        LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
        return LocalDateTime.of(lastDay, LocalTime.MAX);
    }

接口相应结果添加统一字段

@Component
@ControllerAdvice
public class CustomResponseBodyAdvice implements ResponseBodyAdvice {

    @Override
    public boolean supports(MethodParameter returnType, Class> converterType) {
        // 指定需要处理的控制器方法的返回类型
        // 这里可以根据需求进行适当的判断,例如基于注解或返回类型等条件
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
            Class> selectedConverterType,
            ServerHttpRequest request, ServerHttpResponse response) {
        // 获取返回结果对象,并进行字段设置
        if (body instanceof ApiResponse) {
            ApiResponse responseObj = (ApiResponse) body;
            HttpServletRequest httpRequest = ((ServletServerHttpRequest) request).getServletRequest();

            // 从HttpServletRequest中获取请求的方法、URL和URI
            String method = httpRequest.getMethod();
            String url = httpRequest.getRequestURL().toString();
            String uri = httpRequest.getRequestURI();

            // 向返回结果对象中补充设置字段
            responseObj.setAction(method);
            responseObj.setPath(url);
            responseObj.setUri(uri);
            responseObj.setOrganization(url.split("/")[3]);
        }

        return body;
    }
}

Original: https://www.cnblogs.com/MorningBell/p/16659416.html
Author: MorningBell
Title: Collections.sort排序方法的最简化写法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619991/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java基础 三目运算符 用if-else对其进行解释

    JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code packag…

    Java 2023年5月29日
    0145
  • SpringMvc(三)- CRUD

    1、springMvc的form表单 1.1 标签 1.2 标签 使用springMvc的form表单,快速开发表单及数据自动回显; 原理:在 数据模型中添加一个 参数名为 com…

    Java 2023年6月15日
    083
  • java基础

    java基础知识图解 软件开发 软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。 人机交互方式 图形化界面(Graphical User…

    Java 2023年6月6日
    0110
  • Redis的安装使用

    @Test public void testKey() throws Exception { //创建客户端指定连接服务器端主机ip和端口,端口不指定时默认使用6379 Jedis…

    Java 2023年6月7日
    083
  • 【spring-boot】mybatis-generator 使用入门

    初始化项目 com.example.mybatisgeneratordemo 最终的文件目录结构 配置pom.xml文件 "1.0" encoding=&quo…

    Java 2023年5月29日
    094
  • SpringBoot-Learning

    本项目内容为Spring Boot教程程序样例。 作者博客:http://blog.didispace.com Spring Boot系列博文:http://blog.didisp…

    Java 2023年5月30日
    057
  • 官网VMware下载安装教程(超详细)

    首先在游览器搜索VMware,进入官网。或者直接点击VMware 然后点击工作空间,再点击WorkStation Pro 进入以下界面 下滑到最下面,点击下载试用版 页面发生跳转,…

    Java 2023年6月5日
    0131
  • Javaweb面试

    一:cookie和session的区别?1.session和cookie都是会话跟踪技术2.session是保存在服务器端的技术,而cookie是保存在客户端的技术3.cookie…

    Java 2023年6月5日
    097
  • 【RocketMQ】Broker服务注册

    Broker注册 在Broker的启动函数中,添加了定时向NameServer进行注册的任务,在启动后延迟10秒向NameServer进行注册,之后定时发送心跳包,关于发送周期,首…

    Java 2023年6月8日
    068
  • RabbitMQ 工作队列

    每日一句 如果你执意追逐我的幻影,迟早会被真正的我打败。 https://www.ylcoder.top/post/1649241412 概述 工作队列(又称任务队列)的主要思想是…

    Java 2023年6月9日
    0113
  • 数据库备份脚本

    #!/bin/bash #备份文件目录 backDir="/data/log/mysql/" if [ ! -d "$backDir" ];…

    Java 2023年6月8日
    083
  • 9.NIO 核心1:缓冲区(Buffer)

    static xxxBuffer allocate(int capacity):创建一个&a…

    Java 2023年6月5日
    0100
  • h5项目(特别是vue)缓存严重的解决方案,配合nginx

    默认情况下使用nginx作为h5静态资源的服务器时,这些资源在浏览器端是会有缓存的,特别是微信浏览器中,缓存非常严重。 所以项目开始部署阶段就需要配置好nginx禁止这些资源的缓存…

    Java 2023年5月30日
    089
  • SpringMvc异常处理

    异常处理器 编写异常处理器 @RestControllerAdvice //用于标识&amp…

    Java 2023年6月7日
    088
  • m

    mybatis-plus配置文件 在MybatisPlusInterceptor下添加DynamicTableNameInnerInterceptor @Configuration…

    Java 2023年5月30日
    0121
  • 二叉树基础知识

    前言 算法就是一种经常不学就觉得自己是个傻子的存在。所以,复习下吧。 二叉树的基础定义 二叉树节点的度:指的是二叉树 _节点_拥有的 子节点的数量。 二叉树的深度:指的是从根结点开…

    Java 2023年6月7日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球