kotlin的KProperty
发表于|更新于
|浏览量:
浪子挥霍的是他的祖业,财迷葬送的却是他自己。——托·富勒
在mp中使用KtQueryWrapper时,需要如下使用:
1 | KtQueryWrapper(User::class.java).eq(User::name, "sss").eq(User::roleId, "sss2") |
这里的User::name是一个KProperty,其文档:https://kotlinlang.org/docs/reflection.html
可以使用KProperty的name属性获取到其属性名
1 | User::name.name |
当然其还有很丰富的其他属性、函数

在项目中使用其,需要先引入kotlin-reflect依赖
1 | <dependency> |
相关推荐
2022-09-20
中缀表示法
无意苦争春,一任群芳妒。零落成泥碾作尘,只有香如故。——陆游 文档 中缀表示法能让我们定义一些“关键字” 标有 infix 关键字的函数也可以使用中缀表示法(忽略该调用的点与圆括号)调用。中缀函数必须满足以下要求: 它们必须是成员函数或扩展函数; 它们必须只有一个参数; 其参数不得接受可变数量的参数且不能有默认值。 1234567infix fun Int.shl(x: Int): Int { …… }// 用中缀表示法调用该函数1 shl 2// 等同于这样1.shl(2) 代码如下: 1234567891011121314infix fun Int?.default(x: Int): Int = this ?: xinfix fun String?.default(x: String): String { return this ?: x}// 用中缀表示法调用该函数1 default 0// 等同于这样null.default(0)"1".default("x")null.def...
2022-09-06
kotlin相关依赖
朋友间保持一定的距离,而使友谊永存——查尔卡 第一次用kt写东西的时候,没引入GAV都可以用…应该是idea集成了kt环境,到线上打包就没有了 新建了一个kotlin项目,发现需要GAV才能打包进去 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <kotlin.version>1.7.10</kotlin.version></properties...
2022-08-17
aop注解在整个类生效
志向是天才的幼苗,经过热爱劳动的双手培育,在肥田沃土里将成长为粗壮的大树。——苏霍姆林斯基 之前写过自定义注解和AOP,但其是作用于方法上 今天用kotlin写一个作用在类上的:主要是@annotation换成@within 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.ruben.simplebootimport org.aspectj.lang.ProceedingJoinPointimport org.aspectj.lang.annotation.Aroundimport org.aspectj.lang.annotation.Aspectimport org.springframework.boot.autoconfigure.SpringBootApplicationimport org.springframework.boot.runApplicationimport org.springframework.ster...
2022-09-19
操作符重载
游客是你,风景是我,无法避免,让你经过。——《稀客》 中文文档 kotlin里我们可以进行操作符重载,以达到对象+对象、-对象这样的操作: 12345678910111213141516171819// 定义一个类data class Point(val x: Int, val y: Int)// 对其进行操作符重载,让其能够使用-Point()语法operator fun Point.unaryMinus() = Point(-x, -y)val point = Point(10, 20)println(-point) // 输出“Point(x=-10, y=-20)”// 对String进行操作符重载,让其能够使用 +"" 语法operator fun String.unaryPlus() = this + thisprintln(+"x")// 对其进行二元操作符重载,使其可以使用 Point() + Point() 语法operator fun Point.plus(s: Point) = Point(this.x + s....
2023-02-03
kotlin泛型多个上界
善气迎人,亲如兄弟;恶气迎人,害于戈兵。——管子 java中,我们可以使用<T extends Comparable<? super T>, Serializable>来指定多个接口的泛型限制 kotlin中 对应的是上界 上界最常见的约束类型是与 Java 的 extends 关键字对应的 上界: 1fun <T : Comparable<T>> sort(list: List<T>) { …… } 冒号之后指定的类型是上界:只有 Comparable<T> 的子类型可以替代 T。 例如: 12sort(listOf(1, 2, 3)) // OK。Int 是 Comparable<Int> 的子类型sort(listOf(HashMap<Int, String>())) // 错误:HashMap<Int, String> 不是 Comparable<HashMap<Int, String>> 的子类型 默认的上界...
2022-08-26
kotlin字符串模板
超乎一切之上的一件事,就是保持青春朝气。——莎士比亚 中文文档:https://www.kotlincn.net/docs/reference/basic-syntax.html#using-string-templates 1234567var a = 1// 模板中的简单名称:val s1 = "a is $a" a = 2// 模板中的任意表达式:val s2 = "${s1.replace("is", "was")}, but now is $a" 得到s2结果: a was 1, but now is 2 如果我们需要使用$符号,则可以参考: https://www.kotlincn.net/docs/reference/basic-types.html#%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%A8%A1%E6%9D%BF 使用${'$'} 例如下面的多行文本: 123val price = """...

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