关于null的大坑
发表于|更新于
|浏览量:
今天跟前端对接口的时候。。。
有个关键字keyword,前端明明没传入进来,我执行判断的时候,一直进不去那段“如果为空就XXX的逻辑”
1 | if (StringUtils.isNoneBlank(commonQueryDtoEntity.getKeywords())) { |
最后发现代码里我是这样写的
1 | commonQueryDtoEntity.getKeywords()+"" |
这样其实转换出来并不是空串,而是一个”null”字符串。。。
1 | "null" |
希望引以为戒
相关推荐
2022-03-03
collectingAndThen
向着清风吟唱的歌手,还会对着运转的宇宙歌吟。——纪伯伦《先知》 我们使用Stream收集操作收集元素时,会遇到对规则进行分组后,对每一组的数据还要进行处理的情况,这时候我们可以使用Collectors.collectingAndThen处理,例如我下面本来分组后得到一个Map<String,List<String>>,但我将分组后每一组的结果转换为了JSON格式的String 12345678910111213import java.util.Map;import java.util.stream.Collectors;import java.util.stream.Stream;import com.alibaba.fastjson.JSON;class Scratch { public static void main(String[] args) { Map<String, String> collect = Stream.<String>empty().collect(Collec...
2023-02-17
bean-searcher支持DbType为UNKNOWN的使用Converter
人固有一死,或重于泰山,或轻于鸿毛——司马迁 今天使用bean-searcher时发现,前端传入的查询条件是枚举的name 但数据库里存储的是tinyint类型,所以默认情况下没有查询到 于是我研究了下bean-searcher源码,对其源码进行了修改,提交了pr https://gitee.com/troyzhxu/bean-searcher/pulls/3 主要是修改了此处对于UNKNOWN的判断,并且修改了Convertor接口的入参,直接传入FieldMeta字段信息 然后改了影响到的单元测试 这个Convertor用起来也很简单,注入到spring中,重写一下supports和convert方法即可
2023-01-12
jackson反序列化器获取类型
不要用陌生人的目光来看你所爱的人,也不要认为自己做出了牺牲——贝·列昂尼多娃 例如这里使用hutool的EnumUtil.getEnumAt传入枚举的ordinal,以及枚举类型,获取到具体的枚举常量值 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106import cn.hutool.core.util.EnumUtil;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.*;import com.fasterxml.jackson.databind.deser.ContextualDeserial...
2021-06-13
reduce补充二
人生要有意义只有发扬生命,快乐就是发扬生命的最好方法。——张闻天 关于reduce我已经写过博客了 今天最后再来聊一聊它的第三个重载 之前一直用得少,所以没有去探究它的妙用 最近稍微抽空看了下 发现还挺有意思的 例如它的第三个参数 在并行流的场景下同样的代码竟有不同的效果 如下: 123456789101112131415161718192021222324public static void main(String[] args) { sum(); parallelSum();}private static void sum() { List<Integer> list = Stream.generate(() -> 1).limit(100).collect(Collectors.toList()); System.out.println(list); int sum = list.stream().reduce(1, Integer::sum, (a, b) -> { ...
2023-04-29
shenyu
小心谨慎,不但可以防备别人侵犯自己,也可自防人性的放纵和腐败。——巴克 分享一个开源项目shenyu 官方文档:https://shenyu.apache.org/zh/ github:https://github.com/apache/shenyu 可以启动shenyu-admin下的ShenyuAdminBootstrap体验一下 访问:http://localhost:9095 用户名admin密码123456 然后我们按照文档上写的修改shenyu-bootstrap中的shenyu.local.enabled 然后运行shenyu-bootstrap下的ShenyuBootstrapApplication 这里报错的话点一下左边的提示即可 或者这里配置 启动成功后我们再启动一个我们自己的boot项目 此处访问http://127.0.0.1:8080/helloworld即可返回 1234{ "name" : "Shenyu", "data" : "hello world...
2023-04-09
apache-incubator-streampark源码编译本地运行
吾日三省吾身。——《论语》 1git clone https://github.com/apache/incubator-streampark.git 拉取代码时候如果提示filename-too-long则可以: git拉取代码提示filename too long 然后拉取完成后编译,执行根目录下build.sh 如果执行不了build.sh,则直接使用命令: 1mvn -Pscala-2.12,dist -DskipTests clean package 上面无论是build.sh还是命令执行成功后,都会生成dist目录 我们解压下面的tar.gz到incubator-streampark\streampark-console\streampark-console-service\target 重命名为streampark-console-service-2.1.0 然后配置streampark-console的运行,添加参数 1-Djdk.io.File.enableADS=true -Dapp.home=streampark-console/stream...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog