java-枚举

    科技2024-06-07  75

    package nume_1; /** * 枚举 * * 定义:和常量一样的,是static和final的 * * 为什么用枚举不直接用,static final的直接用 * * 1.static final定义的直接是个具体的值,这个值得效果和static和final定义的常量效果一样 * * 2.static final定义的不安全 * * * * 枚举的常用方法 * *1.values() //可以把枚举类型的成员以数组的类型返回 *2.valueOf() //可以把正常的String的类型换成enum *3.compareTo() //用于比较枚举定义的时候的顺序 *4.ordinal() //枚举位置的索引,第一个0 * * */ public class Nume_Main_1 { public static void doit_sf(int c) { switch (c) { case Season_sf.Spring: System.out.println("sf-春天"); break; case Season_sf.Summer: System.out.println("sf-夏天"); break; case Season_sf.Autumn: System.out.println("sf-秋天"); break; case Season_sf.Winter: System.out.println("sf-冬天"); break; } } public static void doit_nume(Season_enum s) { switch (s) { case Spring: System.out.println("enum-春天"); break; case Summer: System.out.println("enum-夏天"); break; case Autumn: System.out.println("enum-秋天"); break; case Winter: System.out.println("enum-冬天"); break; } } public static void main(String[] args) { // TODO 自动生成的方法存根 // 对比static、final和枚举的效果 Nume_Main_1.doit_sf(1);// 这里就是sf的缺点,可以用具体的值来使用这个函数,不安全; // Nume_Main_1.doit_enum(1);报错 // Nume_Main_1.doit_enum(Season_enum);报错,因为没有对象 Nume_Main_1.doit_nume(Season_enum.Spring);// 这里就是可以,因为nume里面的就是对象 //values()方法使用 Season_enum [] enums=Season_enum.values(); for (Season_enum season_enum : enums) { System.out.println(season_enum); } //valueOf()方法使用和直接.效果一样 System.out.println("-------------------"); Season_enum enum1=Season_enum.valueOf("Spring");//这个引号里面的必须是真实存在的 System.out.println(enum1); System.out.println(Season_enum.Spring); //compareTo()方法//自身顺序减去括号里面的顺序 System.out.println("-------------------"); System.out.println(Season_enum.Spring.compareTo(Season_enum.Autumn)); System.out.println(Season_enum.Autumn.compareTo(Season_enum.Autumn)); System.out.println(Season_enum.Autumn.compareTo(Season_enum.Summer)); System.out.println("-------------------"); // ordinal();枚举位置的索引,第一个0; System.out.println(Season_enum.Autumn.ordinal()); } } package nume_1; public interface Season_sf { public static final int Spring = 1; public static final int Summer = 2; public static final int Autumn = 3; public static final int Winter = 4; } package nume_1; public enum Season_enum { Spring, Summer, Autumn, Winter; // 1. 这里是可以用逗号结尾也可以的是什么都不写,最好的是;好 //这里每个Spring···都是对象 }
    Processed: 0.009, SQL: 8