分类 编程技术 下的文章
- 首页
- 编程技术
Kotlin:内置函数 let、also、with、run、apply 提高开发效率
前言在Kotlin中,有一些用于扩展 & 方便开发者编码的内置函数,能大大提高开发者的开发效率。今天,我将主要讲解的是:let函数also函数with函数run函数apply函数1. let 函数1.1 简介1.2 使用方法// 作用1:使用it替代object对象去访问其公有的属性 & 方法 object.let{ it.todo() } // 作用2:判断object为n...
Kotin:接口回调中 Lambda 表达式让代码更简洁
基础知识:接口回调中Lambda使用在 Kotlin 中可使用 Lambda 函数简化一些不必要的嵌套接口回调方法注:仅支持单个抽象方法回调,多个回调方法不支持。// Java接口回调 mVar.setEventListener(new ExamEventListener(){ public void onSuccess(Data data){ // ... ...
Android:http 请求异常:Trust anchor for certification path not found
问题描述昨天重新申请了接口 api 的域名证书,今天发现登录报错了java.security.cert.CertPathValidatorException: Trust anchor for certification path not found解决方案(之一)根据之前经验分析和域名证书有关,于是通过 https://myssl.com/ 检测确实发现:域名证书链不完整,补全即可。参考:...
微信小程序:因域名证书链不完整造成无法真机调试
微信开发社区提问https://developers.weixin.qq.com/community/minihome/doc/000eee9b328c0003709bc0d5c5b800问题描述之前收到反馈小程序无法真机调试了,无法访问服务端,经过各种检查没有发现什么问题。无意间换了一个二级域名竟然可以了,原来这和域名有关,经过不段测试发现有的域名可以有的不可以,没有找到规律。期间暂时无果...
C#:iif 非短路计算及“尝试除以 0”异常
问题描述1:iif 不短路如下调试所示,DataTable.Compute() 方法中使用 iif 函数,条件为 ture,期望得到的结果是 0,而不需要计算后面的 1.00/0。现象表明虽然条件为 true,但后面的 false 的结果表达式仍被计算了,于是发生异常。表达式:dt.Compute("iif(0=0,0,1.00/0))"),"")原因...
Spring Boot:List 请求参数校验(Kotlin 版)
问题描述请求参数使用 List<T> 类型时,T 类型中定义的参数校验规则不生效。参数类data class ReqParam( @field:NotBlank(message = "姓名不能为空") val name: String? )控制器@RequestMapping("valid") fun valid(@Vali...
Maven:终端执行命令时指定 JDK 版本
需求描述系统环境变量中设置的 JDK 版本为 jdk-17,而有的项目是用的 jdk 1.8,这样在使用 mvn 命令打包时会使用 jdk-17 来编译,是会出问题的。相关阅读实现方案有两种方式可以修改 mvn 命令执行时使用的 jdk 版本。首先查看当前 mvn 使用的 jdk 版本mvn -v方法1:永久有效修改 D:\Maven\apache-maven-3.8.3\bin\mvn.c...
MyBatis-Plus:update 操作只更新客户端请求参数提供的列名
应用场景项目使用 mybatis-plus,客户端提交更新请求,有时只需要更新部分列,其中有的列要更新成 null,但 mybatis-plus 默认的更新行为会忽略 null 的字段,当然这个可以通过配置更新策略 updateStrategy 来调整,此文不讨论。解决方案最终我设计的方案:客户端提供了哪几列,就只更新这几列,包括 null 值也要更新。思路:1、获取 request 请求...
Gradle:执行命令时指定 JDK 版本
应用场景在命令行执行 Gradle 时使用的 Gradle 版本为系统环境变量中指定的 Gradle 版本,使用的 JDK 为系统环境变量 JAVA_HOME 指定的 JDK。来自 Gradle 官网的说明:JAVA_HOMESpecifies the JDK installation directory to use for the client VM. This VM is also u...
IDEA:Git 窗口不显示 Local Changes
忽然发现 IDEA 的 Git 面板不显示本地修改记录(Local Chinages)了。解决方案新版 2020.1+ 后默认会这样,去掉下面的勾可解决设置:File | Settings | Version Control | Commit设置完又回来了:
IDEA:代码自动补齐时在已有内容前面输入时的处理
如图,现想将 @NotNull 修改为 @field:NotNull,这时会将光标定位到 @ 后面,然后输入 fie,这时会自动提示出 field:很不幸,如果此时选择按 Tab 键后,会自动补全 @field: 但是后面的 NotNull 会消失。解决方案将 Tab 换成 Enter 就好了
Spring Boot:@requestBody 获取多个参数并进行验证
客户端请求的 Json 参数被封装到了一个变量中,如下可以看到是用 FaceResults 存放的数组。{ "FaceResults": [ { "DeviceName": "DOX-A-HH01@XB01", "SerialNumber":...
Gradle:学习系列教程 10 节(转载)
学习 Gradle 不错的文章分享一下,地址不是原作者的,原作者的版本有点旧,这是升级新版的内容。Gradle 是什么Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化建构工具。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的XML。虽然目前在 Java 项目中使用 Maven 居多,但 Android 开发的项目都是使用 ...
MySQL:5.7、8.0 日期时间支持 0000-00-00 格式
MySQL 5.7 之前的数据库的 date、timestamp 等时间类型默认为 0000-00-00。升级到 MySQL 5.7 后这样的日期格式默认不支持会报错。解决方案1不要再使用 0000-00-00 这样的日期。解决方案2如果还想用 0000-00-00 这样的格式,那么需要修改 SQL_ModeMySQL 5.7 默认的 sql mode 如下:ONLY_FULL_GROUP_...