import kotlinx.serialization.Serializable @Serializable enum class Color { RED, GREEN, BLUE } 序列化示例 代码语言:txt 复制 import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json fun main() { val color = Color.RED val json = Json.encodeToString(color) println(json) /...
@NodeEntity enum class MyEnum { VALUE1, VALUE2, VALUE3 } 在包含该枚举类型的类中,使用@Convert注解将该枚举属性标记为需要进行序列化和反序列化的属性。同时,创建一个实现了AttributeConverter接口的转换器类,用于将枚举列表转换为数据库中的属性。例如: 代码语言:txt 复制 @NodeEntity class MyClass { @Conv...
classPerson(valname:String,valgender:Gender,age:Int){valage=ageget()=when(gender){Gender.FEMALE->(field*0.8).toInt()Gender.MALE->field}}enumclassGender{MALE,FEMALE} 我们这里通过幕后字段实现了 age 属性根据性别的不同行为。(´・ω・`) 虽然我们为 age 属性自定义了 getter,但因为在 getter...
publicenumEasySingleton{ INSTANCE; } 1. 2. 3. 4. 创建枚举默认就是线程安全的,所以不需要担心 double checked locking,而且还能防止反序列化导致重新创建新的对象。 //Kotlin实现 enumclassEasySingleton{ INSTANCE; } 1. 2. 3.
annotation class JsonExclude 1. 2. @Target元注解说明注解可以被应用的元素类型,AnnotationTarget 枚举值列出了可以应用注解的全部可能的目标,如果需要也可以同时声明多个AnnotationTarget目标 public enum class AnnotationTarget { /** Class, interface or object, annotation class is also included */ ...
数据类是可以实现接口的,如(序列化接口),同时也是可以继承其他类的,如继承自一个密封类。 3、用实例说明其比Java的简洁性 3.1、数据类的对比 Kotlin版: dataclassUser(valname:String,valpwd:String) Java版: publicclassUser{privateString name;privateString pwd;publicUser(){}publicUser(String name,String ...
public class EHan { //类加载时实例化对象 private static EHan instance = new EHan(); //构造方法私有 public EHan() { } //提供静态方法供外部调用返回该类的实例 public static EHan getInstance() { return instance; } public void eat(){ ...
classKLazilyDCLSingletonprivateconstructor():Serializable{//private constructor()构造器私有化fundoSomething(){println("do some thing")}privatefunreadResolve():Any{//防止单例对象在反序列化时重新生成对象returninstance}companionobject{//通过@JvmStatic注解,使得在Java中调用instance直接是像调用静态函数一样,/...
classPerson(valname:String,valgender:Gender,age:Int){valage=ageget()=when(gender){Gender.FEMALE->(field*0.8).toInt()Gender.MALE->field}}enumclassGender{MALE,FEMALE} 我们这里通过幕后字段实现了 age 属性根据性别的不同行为。(´・ω・`) ...