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

【Kotlin】常用 Kotlin ② ( 枚举 | 枚举定义函数 | 密封 )

都是 枚举 实例对象 ; enum class 枚举类型名 { 枚举常量1, 枚举常量2, ... } 代码示例 : enum class Gender { MALE,...枚举 常量名称 ; MALE true 枚举常量 Gender.MALE 是 Gender 一个 实例对象 ; 二、枚举定义函数 ---- 在枚举中 , 可以 定义函数 , 包括 普通函数...和 构造函数 ; 1、枚举定义普通函数 通过 枚举 类型常量 ( 实例对象 ) 可以 调用 枚举中定义方法 ; 为枚举定义普通函数 : 在枚举 Gender 中定义了 log 函数 ,...---- 枚举类型 是一组 子类型 闭集 ; 密封 可以 定义 枚举类型 子类型闭集 , 一个密封可以有多个子类 , 继承密封子类 必须 与 密封在相同 Kotlin 代码文件中 ; 密封适用于这种情况..., 要使用枚举特性 , 但是需要在枚举基础上保存多个特性 ; 枚举只能实现简单常量列举 , 如果需要更复杂 子类型闭集 , 则需要使用密封 ; 代码示例 : sealed class Gender

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

枚举

枚举 语法 [Modifier] enum enumName{   enumContantName1   [,enumConstantName2...[;]]   //[field,method...包装把基本类型数据转换为对象 每个基本类型在java.lang包中都有一个相应包装 包装作用 提供了一系列实用方法 集合不允许存放基本数据类型数据,存放数字时,要用包装类型 XXXValue...除外)(字符串->基本类型) valueOf() 装箱和拆箱 基本类型和包装自动转换 装箱:基本类型转换为包装对象 拆箱:包装对象转换为基本类型值 Math java.lang.Math提供了常用数学运算方法和两个静态常量...E(自然对数底数) 和PI(圆周率) Random Random rand=new Random(); //创建一个Random对象 for(int i=0;i<20;i++){//随机生成20个随机整数...之间字符串部分 public String trim() 返回一个前后不含任何空格调用字符串副本 public String[] split() 字符串分割返回数组 Date 格式化 //创建日期对象

23110

枚举

当需要定义常量时,一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了...使用枚举 from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'...Month.Sep , 9 #输出:Oct => Month.Oct , 10 #输出:Nov => Month.Nov , 11 #输出:Dec => Month.Dec , 12 自定义枚举...  如果需要更精确地控制枚举类型,可以从Enum派生出自定义 from enum import Enum, unique @unique #@unique装饰器可以帮助我们检查保证没有重复值...day1 = Weekday.Mon print(day1) #输出:Weekday.Mon print(day1.value) #输出:01,value属性是枚举常量

38610

Java枚举

Java 枚举一个特殊,一般表示一组常量,比如一年 4 个季节,一个 12 个月份,一个星期 7 天,方向有东南西北等,订单状态。...Java 枚举使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 1.定义一个枚举。...ordinal()方法可以找到每个枚举常量索引,就像数组索引一样。 valueOf()方法返回指定字符串值枚举常量。...(Color.valueOf("WHITE")); } } 6.枚举成员 枚举跟普通一样可以用自己变量、方法和构造函数,构造函数只能使用 private 访问修饰符,所以外部无法调用。...枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举具有抽象方法,则枚举每个实例都必须实现它。 枚举抽象方法实现,需要枚举每个对象都对其进行实现。

1K10

java枚举

一、 枚举说明 枚举理解:对象只有有限个,确定。 当需要定义一组常量时,强烈建议使用枚举 如果枚举一个对象,则可以作为单例模式实现方式。...二、如何定义枚举 ① 自定义枚举 class Season{ // 1.声明Season对象属性:private final修饰 private final String seasonName...// 使用enum关键枚举 enum Season1{ // 1.提供当前枚举对象,多个对象之间用“,”隔开,末尾对象";"结束 SPRING("春天","春暖花开"),...,枚举常用方法:(继承于 java.lang.Enum ) value() 返回所有的枚举对象构成数组 valueOf(String objName):返回枚举中对象名是 objName 对象...interface Info{ void show(); } // 使用enum关键字枚举 enum Season2 implements Info{ //1.提供当前枚举对象,

71440

09 枚举

Java 5 之后可以使用枚举类型了,Java中枚举类型作用已经不仅仅是定义一组常量提高程序可读性了,还具有如下特性: Java 枚举类型是一种,是引用类型,具有了面向对象特性,可以添加方法和成员变量等...枚举声明 [public] enum 枚举名 { 枚举常量列表 } “枚举名”是该枚举名称。它首先应该是有效标识符,其次应该遵守 Java 命名规范。建议以 Enum 结尾。...这也说明了枚举不允许在外部创建对象。 枚举常用方法 所有枚举都继承java.lang.Enum,Enum中定义了一些枚举中常用方法: int ordinal():返回枚举常量顺序。...每个枚举值经常有一个关联标识符,为枚举常量声明顺序,ordinal值会从从数字 0 开始。 枚举类型[] values():静态方法,返回一个包含全部枚举常量数组。...枚举类型 valueOf(String str):静态方法,str 是枚举常量对应字符串,返回一个包含枚举类型实例。

31810

枚举工具

链接地址:https://gitee.com/dromara/hutool/pulls/583 This is a story about pull request getFieldBy 我们在使用枚举过程中...我们前端传入可能是0/1/2这样数字,我们就可以通过EnumUtil#getFieldBy,来通过ordinal,也就是我们枚举序号,获取对应汉字返回 //...容我娓娓道来 我们如果遇到了这种场景: 需要根据枚举对应值执行不同逻辑:此处用一个switch case举个栗子: (jdk8开始允许枚举作为switch case条件) GenderEnum...✌️ 大家用枚举去管理,也能方便统一修改和厘清逻辑 MapUtil#change 这里简单介绍一个基本使用和一个复杂场景: // Add test like a foreigner Map<Integer...users.get(2).getName()); Assert.assertEquals("朴实无华朱一旦", users.get(3).getName()); }); // 能写代码真开心 用到一些自定义

36810

Java 枚举 详解

1、枚举是什么?   Java中枚举其实是一种语法糖,在 JDK 1.5之后出现,用来表示固定且有限个对象。比如一个季节有春、夏、秋、冬四个对象;一个星期有星期一到星期日七个对象。...这些明显都是固定,且有限个。 2、枚举和普通区别   ①、使用 enum 定义枚举默认继承 java.lang.Enum ,即枚举是不能再继承别的了。...而普通一般父默认是 Object   ②、枚举构造器只能使用 private 定义,而普通还可以用 public 修饰   ③、枚举所有实例必须在枚举中显示列出(,分隔   ;结尾)...,列出实例系统会默认自动添加 public static final 修饰   ④、所有的枚举都提供了一个 values() 方法,可以用来遍历枚举值 3、怎么用枚举?    ...switch--case 表达式(JDK 1.5以后) ②、如果枚举对象只有一个,那么可以作为单例模式实现

1.2K90

java枚举介绍

枚举 枚举对应英文(enumeration,简写enum)。 枚举是一组常量集合。 可以这样理解:枚举是一种特殊,里面只包含一组有限特定对象。...enum关键字实现枚举注意事项 当我们使用enum关键字开发一个枚举时,默认会继承Enum,而且是一个fianl。...如果使用无参构造器创建枚举对象,则实参列表和小括号都可以省略。 当有多个枚举对象时,使用,(逗号)间隔,最后由一个分号结尾。 枚举对象必须放在枚举行首。...getDeclaningClass 得到枚举常量所属枚举类型Class对象。可以用它来判断两个枚举常量是否属于同一个枚举类型 name 得到当前枚举常量名称。...//但是enum实现枚举,任然是一个,所以可以实现接口。

32830

初探Java枚举

3.枚举特性 枚举特性,归结起来就是一句话: 除了不能继承,基本上可以将 enum 看做一个常规。...enum 不可以继承另外一个,当然,也不能继承另一个 enum ?...因为 enum 实际上都继承自 java.lang.Enum ,而 Java 不支持多重继承,所以 enum 不能再继承其他,当然也不能继承另一个 enum。但是枚举可以定义接口并实现。...allOf - 创建一个指定元素类型并包含所有枚举 EnumSet。 range - 创建一个包括枚举值中指定范围元素 EnumSet。...,大大加强了程序可读性、易用性和可维护性,并且在此基础之上又进行了扩展,使之可以像一样去使用,更是为Java对离散量表示上升了一个台阶。

66210

Java 中枚举使用

在日常写项目时,很多数据字典常量都需要定义和使用,同时在 Java 面试中,枚举也是一个绕不开的话题,这篇文章就来详细介绍一下枚举定义以及使用。 01  【什么是枚举?】...枚举定义就是指将变量值一一列出来,变量值只限于列举出来范围内,使用枚举可以很方便地定义数据常量、以及我们使用。 02  【为什么需要枚举?】...在大一点项目中,可以使用数百个静态常量。如果它们都写在一个文件里面的话,很容易造成命名混乱,程序也很难读取。 (3)可以帮助我们定义所需类型。 枚举易于记忆和使用,相当于一个接口。...03  【枚举定义和使用】 下面就定义一个试题类型枚举来帮助大家理解:...toString(),name():返回当前枚举变量name属性 ordinal():枚举会给所有的枚举变量一个默认次序,该次序从0开始,是根据我们定义次序来排序

1.6K20

java枚举解读

枚举使用 枚举实现 JDK1.5之前需要自定义枚举 JDK 1.5 新增 enum 关键字用于定义枚举 若枚举只有一个对象, 则可以作为一种单例模式实现方式。...(, 分隔 ; 结尾)。...switch(枚举名){ case 枚举对象名: break; … }  向枚举中添加新方法 如果打算自定义自己方法,那么必须在enum实例序列最后添加一个"分号"。...覆盖枚举方法  如:toString()方法覆盖,因此拿到枚举对象,直接打印输入此对象信息而不是一个地址。 Enum主要方法  1.toString(): 返回当前枚举对象常量名称。...,那么将会抛出异常No enum constant 实现接口枚举 和普通 Java 一样,枚举可以实现一个或多个接口 若每个枚举值在调用实现接口方法呈现相同行为方式,则只要统一实现该方法即可

16940
领券