Optional没有peek函数?自己写一个
好动与不满足是进步第一必需品。——爱迪生 我发现Optional竟然没有类似于Stream里的peek函数 那我就只好自己写一个了。。。 但Optional由final修饰没法继承,那我复制一个出来改个名字好了 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516...
不要再问我前端如何让字符串转成Date了
生活就像一盒巧克力,你永远不知道你会得到什么。——《阿甘正传》 那天有朋友问我yyyy-MM-dd'T'HH:mm:ss.SSSZ怎么转成yyyy-MM-dd HH:mm:ss,我就给他了我这篇博客 结果他说看完还是不会。。。 那我今天再讲一次吧 首先,我们拿到一个字符串2018-05-23T16:05:52+08:00 很多程序员看到了就不知道如何下手了 我们理清思路: 1.将字符串转换成js中的Date对象 2.调用Date对象中的函数转换为我们想要的格式 我们首先调用Date的构造方法 1234var a = "2018-05-23T16:05:52+08:00"console.log(a)var date = new Date(a);console.log(date) 可以看到我们的date确实转成功了 当然,除了这种格式的日期字符串 还可以支持很多格式 以及我们的时间戳 如果这些格式都不能满足你 还有一招:按照 1new Date(年,月,日,时,分,秒,毫秒) 的格式去转换,注意月这里需要减一 同上,也支持省略写法 ...
不要用魔法值!!!
我来到这个世界为的是看太阳和蔚蓝色的田野。——巴尔蒙特 《阿里Java手册》中第一条编程规约下的第二条常量定义里的第一条 例如这里 我们使用了魔法值 我们改成常量则为 像是字符编码此类都有对应的常量或者枚举等 例如java.nio.charset.StandardCharsets
@SneakyThrows
好的木材并不在顺境中生长;风越强,树越壮。——(英)马里欧特 我们有时候会把一些受检异常try catch掉 例如 但我们每次都这么写 12345try { String encode = URLEncoder.encode("阿巴阿巴阿巴阿巴", "UTF-8");} catch (UnsupportedEncodingException e) { e.printStackTrace();} 会导致代码很臃肿 如果我们使用了lombok 可以直接在方法上加个@SneakyThrows注解 简洁多了
花式Equals
人们很少做他们相信是对的事,他们做比较方便的事,然后后悔。——鲍勃.迪伦 相信大伙在开发中经常用equals去比较两个对象是否相等,这里分享一下一些别的写法 注意翻转equals:例如我们之前是这样写ruben.equals("ruben"),一定要改成"ruben".equals(ruben) 养成好习惯,利人利己 第一种写法,最常见的这种 12345String ruben = "ruben";String rabbit = "ruben";String achao = "achao";// 常用的Object.equalsSystem.out.println(ruben.equals(rabbit)); 第二种写法,避免空指针 12// 避免空指针的java.util.Objects.equalsSystem.out.println(Objects.equals(ruben, rabbit)); 比较数组的equals 123456// 比较数组的Objects.de...
redis自增减
是以太山不让土壤,故能成其大;河海不择细流,故能就其深。——李斯 多用于排行榜、统计访问量、签到天数等场景 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869package com.ruben;import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.annotation.DependsOn;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.support.atomic.RedisAtomicLong;import org.s...
URL编码
人需要真理,就像瞎子需要明快的引路人一样。──高尔基 123456// URL编码String encode = URLEncoder.encode("你好,世界", Encoder.UTF_8);System.out.println(encode);// URL解码String decode = URLDecoder.decode(encode, Encoder.UTF_8);System.out.println(decode); 运行结果
idea2021更改内存设置
中国的孩子,只要生,不管他好不好,只要多,不管他才不才。生他的人,不负教他的责任。虽然“人口众多”这一句话,很可以闭了眼睛自负,然而这许多人口,便只在尘土中辗转,小的时候,不把他当人,大了以后,也做不了人。——鲁迅 如下
IDEA自带http客户端
我们活在世上不是为自己而向生活索取什么,而是试图使别人生活得更幸福。——奥斯勃 前两天更新了idea2021让我发现一个功能 虽然这个功能应该在以往的idea版本也存在,但是我是随着更新了它才发现这个功能 我们在idea中按下快捷键ctrl+alt+shift+insert 当然我们不用快捷键,直接在项目目录右键新建->草稿文件也是一样的效果 我们输入http找到Http Request 然后我们发现在草稿文件中多了个.http后缀的文件 我们可以在里面写我们的接口测试 例如我这里写一个 1GET https://unidemo.dcloud.net.cn/api/news 然后点击左边的小箭头运行一下 可以看到下面我们调用接口后的响应 这串json会自动储存在.idea/httpRequests/2021-04-22T212126.200.json这里 我们可以按ctrl+鼠标左键去打开这个json文件 那么我们除了GET,使用POST也是可以的,只需要在前面改成POST即可 如果我们需要设置Request Header,可以直接在下方写上我们想要的he...
idea启动springboot时指定端口号
对上级谦恭是本分;对平辈谦逊是和善;对下级谦逊是高贵;对所有的人谦逊是安全——亚里士多德 我们可以在启动项目时在启动参数加上-D去指定配置文件中的内容 例如我们使用-Dserver.port=8082去指定我们项目中的端口号 如果我们是在idea中启动项目,我们可以在VM Options中编写 然后我们启动项目则会把参数自动拼在后面 最后可以看到成功生效 如果我们想要多个 则使用空格分开即可
