栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java枚举

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java枚举

一、基础

1、枚举类关键字enum
2、不同值之间用逗号分隔;
3、枚举类型可以定义为一个单独文件,也可以定义在其他类内部;
4、枚举变量的toString()方法和name()fangfa 返回其字面值,

二、相关方法
    public static void main(String[] args) {
        Size size=Size.SMALL;
        System.out.println(size.toString());//SMALL
        System.out.println(size.name());//SMALL
        System.out.println(size.ordinal());//2
    }
    public enum Size{
        LARGE,MEDIUM,SMALL
    }

1、toString()
返回其字面值
2、name()
返回其字面值

3、int ordinal()
表示枚举值在声明时的顺序,从0开始

枚举类型实现了Comparable()接口,可以通过comareTo与其他枚举值比较,比较的大小就是ordinal的大小。

4、枚举类型可以用switch中,不过枚举值不能带枚举类型前缀

        switch (size){
            case LARGE:
                System.out.println("this is lager!");break;
            case MEDIUM:
                System.out.println("this is mediu!");break;
            case SMALL:
                System.out.println("this is small!");break;
            default:
                System.out.println("unknow size!");break;
        }

5、valueOf(String) 、values()
valueOf返回字符串对应的枚举值,values()返回一个包括所有枚举值的数组,顺序与声明时的顺序一致。

      System.out.println(Arrays.toString(Size.values()));//[LARGE, MEDIUM, SMALL]
        Size  size1=Size.valueOf("LARGE");
        System.out.println(size1.toString());//LARGE
三、枚举的实现

枚举类型会被编译器转换为一个对应的类,这个类继承了Enum类,Enum有两个实例变量:name,ordinal,在构造方法中需要传递,
1、转换后的类是一个final类,不能被继承;
2、枚举值实际上时静态变量,被final修饰,无法被修改;
3、values方法时编译器添加的,内部有一个values数组保持所有的枚举值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号