不要用魔法值!!!
发表于|更新于
|浏览量:
我来到这个世界为的是看太阳和蔚蓝色的田野。——巴尔蒙特
《阿里Java手册》中第一条编程规约下的第二条常量定义里的第一条

例如这里

我们使用了魔法值
我们改成常量则为

像是字符编码此类都有对应的常量或者枚举等
例如java.nio.charset.StandardCharsets
相关推荐
2021-08-28
mybatis-plus部分更新
宁要好梨一个,不要烂梨一筐。积极肯干和忠心耿耿的人即使只有两三个,也比十个朝气沉沉的人强。——列宁 在我们使用mybatis-plus进行开发的时候 可以看到默认的updateById方法是判断属性如果有值则修改,无值则忽略,不修改对应的字段 那如果我们要在该属性没有值得情况下将对应字段置为空的话 就可以使用IService里的这个update的重载 123456789/** * 根据 whereEntity 条件,更新记录 * * @param entity 实体对象 * @param updateWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper} */default boolean update(T entity, Wrapper<T> updateWrapper) { return SqlHelper.retBool(getBaseMapper().update(entity, upda...
2024-08-08
halo创建博客站点
不要忘记人生是要战斗到死。——芥川龙之介 快速运行: 1docker run -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.18 在线体验 环境地址:https://demo.halo.run 后台地址:https://demo.halo.run/console 用户名:demo 密码:P@ssw0rd123.. 这个主要是需要自己的服务器,功能还可以,能快速满足一个博客、个人知识库的需求 github地址: https://github.com/halo-dev/halo 官方文档: https://www.halo.run/ 其还提供了很多主题和插件: 应用市场 - Halo - 强大易用的开源建站工具 我们这里如果是博客 应用市场 - Halo - 强大易用的开源建站工具
2022-01-22
Collectors.toMap的对null友好实现
令她反感的,远不是世界的丑陋,而是这个世界所戴的漂亮面具。——《不能承受的生命之轻》 我们在使用toMap时如果遇到null元素,经常会导致我们发生npe 很不方便 于是我给hutool提交了一个PR 完美解决了这个问题 使用方式: 升级到hutool-5.7.20 然后使用CollectorUtil 12Map<String, Integer> collect = Arrays.asList("ruben", "a chao", "vampire", "RUBEN", "VAMPIRE", null).stream().collect(CollectorUtil.toMap(Function.identity(), String::length, (l, r) -> l));System.out.println(collect); 即可
2020-12-04
解决lambda中必须为final的方式
一个真正而且热切地工作的人总是有希望的——只有怠惰才是永恒的绝望。——卡莱尔 在开发中使用lambda经常出现一个问题 编译提示我们lambda中使用的变量必须为final或者effectively final 1234567891011int i = 2;BigDecimal j = BigDecimal.ZERO;j = BigDecimal.TEN;List<String> stringList = mpUserMapper.selectList(Wrappers.lambdaQuery()).stream().map(UserDataObject::getUsername).collect(Collectors.toList());stringList = stringList.stream().distinct().collect(Collectors.toList());List<String> strings = new ArrayList<>(10);strings.stream().peek(s -> {...
2022-05-29
stream-query
“春非我春,夏非我夏,秋非我秋,冬非我冬。”——汉乐府《日出入》 弄了好几天,终于成功上传到maven中央仓库了 使用方式: 12345678910<dependency> <groupId>io.github.vampireachao</groupId> <artifactId>stream-plugin-mybatis-plus</artifactId> <version>1.0.5</version></dependency><dependency> <groupId>io.github.vampireachao</groupId> <artifactId>stream-core</artifactId> <version>1.0.5</version></dependency> 引入这两个依赖,然后就可以使用啦 测试用例 12345678...
2021-08-23
mybatis-plus的select函数
学问是异常珍贵的东西,从任何源泉吸收都不可耻。——阿卜·日·法拉兹 在mybatis-plus的条件构造器中如果我们想要过滤字段,则可以使用select函数 官方文档介绍如下: 这里分为两类,其中第一个例子:select("id", "name", "age")可以用于一般Wrapper 如果是lambdaQueryWrapper,则需要使用lambda,例如 1Wrappers.lambdaQuery(UserDetail.builder().build()).select(UserDetail::getUsername,UserDetail::getAvatar) 第二类,我们可以按照某种规则去匹配 例如这里我只要password以外的字段 写法如下: 1Wrappers.lambdaQuery(UserDetail.builder().build()).select(tableFieldInfo -> !tableFieldInfo.getProperty().equals(PropertyNamer...
