杂记
大Damon
这个作者很懒,什么都没留下…
展开
-
Map的遍历
1、for循环Entry/*** 最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */Map <String,String>map = new HashMap<String,String>();map.put("熊大", "棕色");map.put("熊二", "黄色");for(Map.Entry<String, String> entry : map.entrySet()){ String mapKey = entry.getKey()原创 2021-05-17 15:06:08 · 145 阅读 · 0 评论 -
IDEA注释设置:从当前鼠标位置开始注释快捷键
在写xml或html注释时,经常出现注释出来的时候都是顶格的,前面包含一大段空格,并没有在鼠标位置开始。可在设置中进行修改,其他代码格式修改方法类似。原创 2021-05-16 20:14:28 · 1385 阅读 · 0 评论 -
Spring中使用Validation校验参数
在实际项目中经常需要对前段传来的数据进行校验,最普通的方法就是使用 if/else 对每个参数进行校验。@RestController@RequestMapping("/api/person")public class PersonController { @PostMapping public ResponseEntity<PersonRequest> save(@RequestBody PersonRequest personRequest) { if原创 2021-05-13 17:12:34 · 320 阅读 · 0 评论 -
Mybatis-Plus自动生成的数据库id过长
添加链接描述原创 2021-05-10 19:21:44 · 920 阅读 · 0 评论 -
IDEA-从 Windows 过度到 Mac 必备快捷键对照表
连接转载 2021-04-30 16:48:23 · 197 阅读 · 1 评论 -
SpringBoot 开启定时任务
用Redis记录博客阅读量时,需要使用定时任务将数据更新到MySQL中使用SpringBoot创建定时任务,目前主要有以下三种创建方式:一、基于注解(@Scheduled)二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。三、基于注解设定多线程定时任务这次仅尝试了使用 @Scheduled 的方法1. 静态:基于注解基于注解@Scheduled默认为单线.原创 2021-04-30 14:20:41 · 144 阅读 · 0 评论 -
逻辑运算符的短路效应
在要求不能使用for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)的情况下,应该使用逻辑运算符的短路效应进行判断:常见的逻辑运算符有三种,即 “与 && ”,“或 || ”,“非 ! ” ;而其有重要的短路效应,如下所示:if(A && B) // 若 A 为 false ,则 B 的判断不会执行(即短路),直接判定 A && B 为 falseif(A || B) // 若 A 为 true ,则 B 的判原创 2021-04-28 18:25:22 · 792 阅读 · 0 评论 -
为什么一个java源文件中只能有一个public类
一个".java"源文件中可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同。一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。当一个编译单元(java文件)有多个非public类时,运行时需要对数据来源进行选择原创 2021-04-25 21:06:00 · 1277 阅读 · 0 评论 -
进制转换
进制代表数字进位的规则。这个规则说明了两个事情:每个位置数字的范围每个位置数字代表的数量n 进制转十进制以7进制为例:每个位置有0~6一共7个数字每个位置从右到左依次代表x7^0,x 7^1, x *7^2 …x * 7^ n,其中x代表每个位置的数字,n代表距离最右测的距离。那么7进制123 = 3 * 7^ 0 + 2 *7 ^ 1 + 1 * 7 ^ 2 即十进制66十进制转 n 进制十进制66要转化为7进制表示,则从最右边开始1)(66 / 7^0) % 7 = 最低位原创 2021-04-25 13:10:26 · 317 阅读 · 0 评论 -
Java 字符串比较大小
总结compareTo() 按字典顺序比较两个字符串compareTo()返回值: int返回值类型分别有三种,小于0,等于0,大于0如果字符串相等返回值0;如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串);如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度。简介按字典顺序比较两个字符串。原创 2021-04-21 18:39:30 · 2828 阅读 · 0 评论 -
Java数组复制的四种方法
数组的复制,有四种方法:forcloneSystem.arraycopyarrays.copyof均是浅拷贝1、for//源数组int[] source = {10,30,20,40};//目标数组int[] target = new int[source.length];for (int i = 0;i < source.length;i++){ target[i] = source[i];}2、cloneprotected native Object cl原创 2021-04-20 13:08:59 · 1951 阅读 · 1 评论 -
IDEA SpringBoot项目热部署
一、开启IDEA的自动编译(静态)具体步骤:(win)打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。(mac)打开顶部工具栏 IntelliJ IDEA -> Preferences -> Build, Execution, Deployment -> Compiler 然后勾选 Build proj原创 2021-04-19 11:03:42 · 220 阅读 · 1 评论 -
异或运算(XOR)
1、含义异或运算(XOR)是 exclusive OR 的缩写。英语的 exclusive 意思是"专有的,独有的",可以理解为 XOR 是更单纯的 OR 运算。OR 运算的运算子有两种情况,计算结果为true。(1)一个为 true,另一个为 false;(2)两个都为 true。上面两种情况,有时候需要明确区分,所以引入了 XOR。XOR 主要用来判断两个值是否不同。XOR 一般使用插入符号(caret)^表示。如果约定0 为 false,1 为 true,那么 XOR 的运算真值表如下。原创 2021-04-18 13:02:00 · 39374 阅读 · 2 评论 -
字符数组反转
1、双指针 public static void reverseCharArray(char[] cs) { int n = cs.length; int begin = 0; int end = n - 1; char temp; while (begin < end) { temp = cs[begin]; cs[begin] = cs[end]; cs[e原创 2021-04-18 12:43:28 · 78 阅读 · 0 评论 -
lombok-@EqualsAndHashCode(callSuper = true)注解的使用
该注解用于有继承关系的子类对象之间进行比较的时候:不加该注解的影响:子类对象属性值一致,但其继承的父类对象属性值不一致,在比较的时候会出现比较结果不对的情况。这是因为在@Data生成的 equals 方法,只对该类里自有的属性进行了比较下面看下加与不加注解的时候编译后的子类 equals 方法(1)无 @EqualsAndHashCode(callSuper = true) 注解public boolean equals(Object o){ if (o == this) {原创 2021-04-16 16:04:08 · 734 阅读 · 0 评论 -
优先队列重写比较器
PriorityQueue<Integer> queue = new PriorityQueue<>(new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2){ //如果认为o1优先级比o2高,先出o1 compare返回<0的整数 //如果认为o2优先级比o1高,先出o2 compare返回>0的整数原创 2021-04-12 19:01:58 · 453 阅读 · 0 评论