关于null的大坑
发表于|更新于
|浏览量:
今天跟前端对接口的时候。。。
有个关键字keyword,前端明明没传入进来,我执行判断的时候,一直进不去那段“如果为空就XXX的逻辑”
1 | if (StringUtils.isNoneBlank(commonQueryDtoEntity.getKeywords())) { |
最后发现代码里我是这样写的
1 | commonQueryDtoEntity.getKeywords()+"" |
这样其实转换出来并不是空串,而是一个”null”字符串。。。
1 | "null" |
希望引以为戒
相关推荐
2023-12-18
quartz工具类含倒计时
一个人有无成就,决定于他青年时期是不是有志气。——谢觉哉 分享一个自己写的Quartz工具类,可以轻松实现倒计时功能: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import cn.hutool.core.date.DateUtil;import lombok.SneakyThrows;import lombok.experimental.UtilityClass;import org.dromara.streamquery.stream.core.collection.Lists;import org.quartz.*;import org.quartz.core.jmx.JobDataMapSupport;import org.quartz.impl.StdSchedulerFactory;import org.quart...
2022-07-09
Collectors.flatMapping
我只想站在比你高的地方,用人类最纯粹的痛苦和烦恼给你一记响亮的耳光。——《阴火》 发现官方竟然没有,那就自己写一个 12345678910public static <T, U, A, R>Collector<T, ?, R> flatMapping(Function<? super T, Stream<? extends U>> mapper, Collector<? super U, A, R> downstream) { BiConsumer<A, ? super U> downstreamAccumulator = downstream.accumulator(); return new Collectors.CollectorImpl<>(downstream.supplier(), (r, t) -> Opp.ofNullable(t).map(mapper).ifPres...
2023-11-13
webflux中操作符调试
生命不息,奋斗不止。——卡莱尔 分享一个小技巧,在webflux开发中,我们可以在主启动类上加这么一行代码: 1Hooks.onOperatorDebug(); 这行代码的用处是注册一个回调函数,可以打印操作符信息,举个例子: 12345678910111213141516import reactor.core.publisher.Flux;import reactor.core.publisher.Hooks;public class DebugExample { public static void main(String[] args) { Hooks.onOperatorDebug(); // 启用操作符调试 Flux<Integer> flux = Flux.just(1, 2, 3, 4) .map(i -> i / 0); // 这里会触发除以零的异常 flux.subscribe( value -> Syst...
2023-06-13
VIN解析
爱情易失不易得。——佚名 分享一个VIN解析的代码 https://gitee.com/dromara/hutool/pulls/1005 使用方式 1234567891011121314151617181920212223242526272829303132333435363738394041package org.dromara.hutool.core.data;import org.dromara.hutool.core.data.vin.Vin;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.Test;import java.time.Year;/** * @author VampireAchao * @since 2023/5/31 14:43 */public class VinTest { @Test public void parseVinTest() { String vinStr = "HE9XR1C48PS083871"; ...
2023-11-16
webclient在delete请求时携带request body
君子坦荡荡,小人长戚戚。——孔子 今天分享一个场景: 在对接声网rtc时,遇到一个请求,需要在delete请求中携带request body 所使用的请求框架是webflux的webclient 如果我们正常使用delete方法来构建请求,是无法通过bodyValue传入body的 但是这里我们可以直接使用: 123456789101112/** * 封禁用户权限-更新规则 * <a href="https://docportal.shengwang.cn/cn/All/rtc_channel_management_restfulapi?platform=Android#%E6%9B%B4%E6%96%B0%E8%A7%84%E5%88%99"> */public Mono<RtcAddDelKickRuleRes> delRtcKickRule(RtcDelKickRuleDTO dto) { dto.setAppId(appId); return webClient.method(HttpMethod.D...
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 -> {...

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