首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用kotlin改善java代码

序 本文主要举几个kotlin如何改善java代码的例子 字符串字面值及模板 字符串字面值 @Test fun testStringLiterals(){ val a = """if...方法,但是lombok不方便在IDE查找那些方法有调用getter/setter;kotlin的data class帮你解决这些问题 Null Safety @Test fun testIfNotNull...Null Safety在流式/链式调用的时候更有用 // 如果 `person` 或者 `person.department` 其中之一为空,都不会调用该函数: person?....head = managersPool.getManager() 小结 本文只是举了kotlin可以改善java代码的几个例子,kotlin太强大了,目标是要替代java。...其中很多设计可以看到scala的影子,但是黑魔法也比较多,学习曲线稍微有点抖,不过如果不使用太高级的语法,也还OK。 doc kotlin reference cn

54510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    初探Kotlin+SpringBoot联合编程

    本文主要介绍一下如何使用Kotlin结合SpringBt开发一个带有数据库交互的REST风格基本程序 ---- 实验环境 JDK不用说了,Kotlin毕竟是运行在JVM环境下的语言,所以JDK必须,我这里用的...JDK1.8 数据库:MySQL 数据库访问组件:Spring data jpa J2EE框架:SpringBt 1.5.2.RELEASE 构建工具:Gradle ---- 工程创建 没啥好说的,我这里创建的是基于...这个生成的构造函数是合成的,因此不能从 JavaKotlin 中直接调用,但可以使用反射调用。 这样我们就可以使用 Java Persistence API(JPA)实例化 data 类。...我们使用Kotlin 调用Java的Spring AOP框架和库,需要类为 open(可被继承实现),而Kotlin 类和函数都是默认 final 的,这样我们需要为每个类和函数前面加上open修饰符。...例如,当我们使用 Spring 时,就不需要打开所有的类,跟我们在Java中写代码一样,只需要用相应的注解标注即可,如 @Configuration 或 @Service。

    66270

    如何使用Java调用HBase的 Endpoint Coprocessor

    Endpoint协处理器类似传统数据库中的存储过程,客户端可以调用这些Endpoint协处理器执行一段Server端代码,并将Server端代码的结果返回给客户端处理。...本篇文章Fayson先不介绍如何去开发协处理器,主要借助于HBase示例中自带的RowCount Endpoint协处理器来说明如何使用Java代码在客户端调用。...在后面的文章Fayson会介绍如何去编写一个协处理器。 Endpoint Coprocessor客户端调用过程,如下图所示: ?...注意:在这里的配置为全局配置,协处理器有两种使用方式上图的方式是其中的一种,另外一种则是对单个表进行修改。 3.编写JAVA示例 ---- 1.创建HBase的Maven工程 ?...* describe: 客户端如何调用自定义的corprocessor类,Endpoint类型,该示例代码中介绍了几种调用的方式,以及各种调用方式的效率 * creat_user: Fayson

    2.1K20

    开发一款 SDK 需要注意哪些问题

    1、版本冲突 1.1、Java 版本问题 当业务方的 Java 环境是 1.8 时,如果 SDK 是使用 Java 11 编译,则调用 SDK 相关代码的地方在编译时将会报错: 类文件具有错误的版本 55.0...(jdk 11), 应为 52.0(jdk 8) 所以,SDK 在非必要情况下,Java 版本尽量兼容到最低,除非遇到特殊情况,例如 SDK 需要适配 Android 12,但 Deprecated 的...上面这类错误相信遇到的应该不少,Java 有一套自己的 JDK 判断准则,Kotlin 也有,Kotlin metadata 的版本来自 KGP 版本,也即意味着,当你的 SDK 使用高版本的 KGP...所以,如果非必要的情况下,尽量保持低版本的 KGP 版本,与 Java 版本类似;或是,SDK 就不要使用 Kotlin 来开发,减少影响业务方的变量。...可以使用快捷键来实现一键替换 使用新的方法进行代替 4、非空处理 对外接口必须标明入参与返回值的可空与非空,避免业务方发生 NPE 问题,下面列个对比: image.png kotlin 调用效果:

    30210

    如何使用java代码导出word

    导出的工具类代码来源于网络,如有侵权可以联系我删除文章 个人使用ftl作为word导出模板引擎,有很多模板引擎可以选,个人经过查阅资料发现ftl用的比较多,所以选择这一种 <!...- 导出代码 工具类的配置如下: WordGeneratorUtil.java: /** * 模板常量类配置 */ public static final class FreemarkerTemplate....*; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; /...form提交表单数据,实现word导出功能: (注意使用的模板引擎是thymeleaf) html代码: <!...使用js代码处理form表单提交,使用了jquery进行导出,其实一直不太懂前端怎么导出后台产生的二进制流,做法挺多,下次写一篇文章好好汇总一下几种用法。

    4.5K10

    初探Kotlin+SpringBoot联合编程

    本文主要介绍一下如何使用Kotlin结合SpringBt开发一个带有数据库交互的REST风格基本程序 --- 实验环境 JDK不用说了,Kotlin毕竟是运行在JVM环境下的语言,所以JDK必须,我这里用的...JDK1.8 数据库:MySQL 数据库访问组件:Spring data jpa J2EE框架:SpringBt 1.5.2.RELEASE 构建工具:Gradle --- 工程创建 没啥好说的,我这里创建的是基于...这个生成的构造函数是合成的,因此不能从 JavaKotlin 中直接调用,但可以使用反射调用。 这样我们就可以使用 Java Persistence API(JPA)实例化 data 类。...我们使用Kotlin 调用Java的Spring AOP框架和库,需要类为 open(可被继承实现),而Kotlin 类和函数都是默认 final 的,这样我们需要为每个类和函数前面加上open修饰符。...例如,当我们使用 Spring 时,就不需要打开所有的类,跟我们在Java中写代码一样,只需要用相应的注解标注即可,如 @Configuration 或 @Service。

    2.2K140

    Spring源码阅读指南_redis编译安装

    (idea内装) JDK:原机安装1.8版本 需要11版本(后续会说明JDK1.8问题) 注:流程可能较长,源码拉取编译不易,耐心阅读 2.流程 2.1抓取Spring源码 GITHUB网址:https...11 否则spring-core包中有个java依赖找不到 这个时候需要修改build.gradle文件(类似于maven关联其他模块否则不能使用项目下其他包类) 内容如下 plugins...2.程序包jdk.jfr不存在 3.缺少 cglib 和 objenesis 包 Kotlin: warnings found and -Weeror specified 问题1解决:...添加依赖包 该包项目中有 在源码目录项目spring-core/kotlin-coroutines/build/libs下 选择 即可解决 问题2解决: 更换idea的JDKJDK11...(注意这个可以官网下载安装即可不需要配置到环境变量去使用那么麻烦) 本地有相关JDK11包即可 问题3解决: emmm这个应该不算是问题 只是自己没有学过gradle 不太清楚运行流程原理

    92620

    我要狠狠反驳“公司禁止使用Lombok”的观点!

    JDK 版本问题 当我想要将现有项目的 JDKJava 8 升级到 Java 11 时,我发现 Lombok 不能正常工作了。...我的反驳:很多公司一旦确定JDK版本在很长的时间都不会改变(比如银行项目很多都在用jdk1.6,你问他愿意升级到jdk11不?),现在都出到14版本了,你看有多少公司会升级!...如现在很多公司都在用JDK1.8,任你出到JDK14,我依然继续使用JDK1.8,等你出到JDK20时我相信Lombok肯定会支持更高的版本,那时兼容问题将不存在。...得不偿失 使用 Lombok,一时觉得很爽,但它却污染了你的代码,破坏了 Java 代码的完整性,可读性和安全性,同时还增加的团队的技术债务,这是一种弊大于利,得不偿失的操作。...如果你确实想让自己的代码更加精炼,同时又兼顾可读性和编码效率,不妨使用主流的 Scala 或 Kotlin 这一基于 JVM 的语言。 我的反驳:破坏了完整性?

    61230

    【错误记录】Android Studio 编译报错 ( e: Unknown JVM target version: 1.9 Supported versions: 1.6, 1.8, 9, 10 )

    version. e: Unknown JVM target version: 1.9 Supported versions: 1.6, 1.8, 9, 10, 11, 12, 13, 14, 15,...虚拟机版本 1.9 , 支持的 JVM 版本号只能是 1.6, 1.8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 中的版本号 ; e: Unknown JVM target...version: 1.9 Supported versions: 1.6, 1.8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 在 Settings 设置中 , 设置的...JDK 版本是 11 版本的 ; 在 build.gradle 中 , 发现有 如下设置 , 其中设置了 jvmTarget 为 1.9 版本 ; android { namespace '...这是由 Android Studio 自动生成的版本 , 居然报错 ; 将该版本修改为 9 , kotlinOptions { jvmTarget = ‘9’ } 然后重新编译 , 编译通过 ; 核心文件代码示例

    3.1K70

    Kotlin 1.2 的新增了哪些特性?

    为了支持这一点,引入了新的 artifacts kotlin-stdlib-jdk7 和 kotlin-stdlib-jdk8,取代了旧的 kotlin-stdlib-jre7 和 kotlin-stdlib-jre8...JVM 后端 构造函数调用标准化 自 1.0 以来,Kotlin 开始支持复杂控制流的表达式,例如 try-catch 表达式和内联函数调用。根据 Java 虚拟机规范这样的代码是合法的。...Java 默认方法调用Kotlin 1.2 之前,接口成员在使用 JVM 1.6 的情况下重写 Java 默认方法会在父调用中产生警告:Super calls to Java default methods...Recompile with '-jvm-target 1.8'。在 Kotlin 1.2 中,这将会报错,因此需要使用 JVM 1.8 来编译这些代码。...在命令行中使用 -Werror,或使用以下的 Gradle 代码: ? 后话 看了这么多的改变,我们是否就可以深入的学习Kotlin语言,不妨看看这边文章:Kotlin真的值得学习吗?

    2.8K10

    我要狠狠的反驳“公司禁止使用Lombok”的观点

    JDK 版本问题 当我想要将现有项目的 JDKJava 8 升级到 Java 11 时,我发现 Lombok 不能正常工作了。...我的反驳:很多公司一旦确定JDK版本在很长的时间都不会改变(比如银行项目很多都在用jdk1.6,你问他愿意升级到jdk11不?),现在都出到14版本了,你看有多少公司会升级!...如现在很多公司都在用JDK1.8,任你出到JDK14,我依然继续使用JDK1.8,等你出到JDK20时我相信Lombok肯定会支持更高的版本,那时兼容问题将不存在。...得不偿失 使用 Lombok,一时觉得很爽,但它却污染了你的代码,破坏了 Java 代码的完整性,可读性和安全性,同时还增加的团队的技术债务,这是一种弊大于利,得不偿失的操作。...如果你确实想让自己的代码更加精炼,同时又兼顾可读性和编码效率,不妨使用主流的 Scala 或 Kotlin 这一基于 JVM 的语言。 我的反驳:破坏了完整性?

    78030
    领券