HashMap:遍历HashMap的方式

前言本来来总结下遍历 HashMap 的 5 种方式。实现使用Iterator遍历HashMap的EntrySetimport java.util.HashMap;import java.util.Iterator;import java.util.Map;/** * @author 郎家岭伯爵 *
Java 2023年04月25日 448次浏览

List:把List中的元素按照某一条件进行分组

背景设想有一个 HashMap,我们需要对 HashMap 中的元素按照某一条件进行分组。实现首先我们创建一个包含多个元素的 HashMap:UserEntity userEntity = new UserEntity().setAge(20L).setPassword("123"
Java 2023年04月24日 403次浏览

Java:删除整数型List中的指定数值

前言对于整数型的 List,如果我们需要删除指定数值的元素应该如何操作呢?例如有一个如下 List:List<Integer> list = new ArrayList<>(Arrays.asList(1,2, 3, 4, 5, 6, 7, 8, 9, 10));我们需要删除
Java 2023年04月23日 625次浏览

Java:对空白/空字符串的处理

前言总结一下 Java 中对空白/空字符串的处理。实现空白字符串通常指空格、换行符、制表符等,空字符串通常指 String str = ""; 声明的字符串(注意与 null 值区分)。注意:下文中关于空白/空字符串的操作均未涉及 null 值判断。业务代码中是应该增加 null
Java 2023年04月03日 402次浏览

Java:实体类中Integer和int的区别

前言实体类中 Integer 和 int 的区别。实现Integer 的默认值是 null,而 int 的默认值是0。数据库中的 INT 类型对应的是 Integer,而不是 int。定义属性值 int 类型的时候,在数据库中默认 null,当插入操作的时候会把默认值变成0。定义属性值 Intege
Java 2023年03月14日 445次浏览

SpringBoot:文件上传下载

前言在 Spring Boot 中实现文件的上传和下载。实现文件上传上传一个文件,并保存在指定位置:@PostMapping("/upload")public String upload(@RequestParam(value = "file") Multip
Java 2023年03月10日 432次浏览

Java:枚举类的用法

前言针对枚举类的基础用法大家可参考菜鸟教程,本文记录一下稍微复杂点的用法(不同用法的本质是相同的,只是形式有所不同)。实现设想这样一个应用场景:根据一个给定的值,如果这个值在某个集合内,就返回特定的 code 和 name 。定义枚举类针对如上场景,我们把值的集合定义为一个 List(已给定初始化值
Java 2023年03月08日 409次浏览

final关键字

背景关于 final 关键字的使用。理论final 修饰方法:表示方法不可被子类重写(覆盖)。final 修饰变量:初始化一次后值不可变。final 修饰类:类不能被继承,内部的方法和变量都变成 final 类型。final 修饰对象:指对象的引用不可变,但是对象的值可变,即指向的是同一个对象,但是
Java 2023年02月15日 549次浏览

线程同步解决线程安全问题

背景多个线程操作同一资源时,会产生线程安全问题。实现synchronized与lock锁均可解决线程安全问题。问题复现代码package com.langjialing;public class ThreadSynchronized { public static void main(Stri
Java 多线程 2022年05月10日 517次浏览

多线程的守护线程

背景多线程的守护线程。实现Thread的setDaemon方法可设置守护线程。注:默认线程均为用户线程,守护线程需要把setDaemon设置为true;虚拟机必须确保用户线程完成执行,而不用等待守护线程完成执行。守护线程应用场景:后台记录操作、监控内存、垃圾回收等待。代码package com.la
Java 多线程 2022年05月10日 493次浏览