今天来学习一下全新关于Kotlin的概念---数据类【data class】,也是非常有用的东东,下面先来对其进行理论化的了解: 数据类其实跟java的实体类(model)很类似,像Java定义一个Person类,里面有各种属性然后再生成它的get和set方法,当然可以借助于IDE来生成,但是其实java的这种做法是挺冗长啰嗦的,当然其实有现成的解决方案...
noArg{annotation("mm.learn.kotlin._001_class.annotations.NoArgOpenDataClass")}allOpen{annotation("mm.learn.kotlin._001_class.annotations.NoArgOpenDataClass")} 将注解用到 data class 中 @NoArgOpenDataClassdataclassCountry(varid:Int,varname:String,varcontinent:String) 经过上面5个步骤,编译器就会帮...
println(Example::foo.javaField?.getAnnotation(Ann::class.java))// java方式获取注解信息,获取 @field: 修饰的注解以及原生java注解 在测试这个问题的时候遇到了一个无比巨坑,ide使用的是AndroidStudio,在调试代码的时候出现了各种各样奇葩的情况,比如@target只有AnnotationTarget.FIELD的情况下却获取不到java的注解...
@KotlinBuilder data class User(var name:String,var password:String,var address: Address) @KotlinBuilder data class UserDto(var name:String,var password:String,var address: Address) 通过添加@KotlinBuilder注解会在编译时生成 UserBuilder、UserDtoBuilder 对象,他们在 Mapper 的实现类中被使用,用于创建对象...
Kotlin - 注解实例 反射实例 注解和反射的综合实例 场景 模拟操作数据库 创建一个数据元素类 数据库元素子类的实例都可以项数据库写入自身数据 实例 定义注解 // 定义一个数据库表格名称注解@Target(AnnotationTarget.CLASS)annotationclassDatabaseTableName(valvalue:String)// 定义一个数据库id字段的注解@Target(...
data class就是一个类中只包含一些数据字段,类似于vo,pojo,javabean。一般而言,我们在Java中定义了这个数据类之后要重写一下toString,equals等方法。要生成get,set方法。 然而在Kotlin中这些都不在需要自己手动去敲了,编译器在背后默默给我们生成了如下的东西: ...
public annotation class ReplaceWith(val expression: String, vararg val imports: String) 1. 2. 3. 4. 5. 6. 7. 8. 9. 注意: 注解的实参类型可以是基本类型、字符串、枚举、类引用、其他的注解类、数组等,在java中声明的注解类,命名为value的形参按需自动转换成的可变长度的形参,所以可以不用arrayOf函...
Kotlin是完全兼容Java注解,也就是说Java中定义的注解,在Kotlin中都可以直接使用。 // Javapublic@interfaceAnn{intintValue();StringstringValue();} 1. 2. 3. 4. 5. // Kotlin@Ann(intValue=1,stringValue="abc")classC 1. 2. 虽然可以直接用,但毕竟Kotlin的语法要丰富得多,所以为了避免歧义,要使用前...
使用data class的一大好处就是不用自己写一堆toString()方法的代码了。 一个简单的类的写法: 代码语言:javascript 复制 classUser(varname:String,varage:Int){} 如果我们想打印这个类的一个对象的属性值,一般直接调用toString() 但是如果不重写,打印出来的就是对象的地址 ...