java编程思想 第19章枚举类型


java编程思想 第19章枚举类型


System.out.println("Aa".hashCode()); // 2112
System.out.println("BB".hashCode()); // 2112
System.out.println("ABCDEa123abc".hashCode()); // 165374702
System.out.println("ABCDFB123abc".hashCode()); // 165374702
上面参考 https://blog.csdn.net/TNT_wang/article/details/84336519

1、values方法是编译器添加的
final无法继承,可以用在switch
跟普通类一样可以有main函数等
class getEnumConstant() 可以一样获取enum values
枚举继承自Enum, toString返回的name,equals 比较引用,compareTo 比较的是 ordinal

public abstract class Enum>
        implements Comparable, Serializable 
        
enum可以实现多个接口,不能多继承
2、枚举可以通过接口组合到一起
public interface Food {
  enum Appetizer implements Food {
    SALAD, SOUP, SPRING_ROLLS;
  }
  enum MainCourse implements Food {
    LASAGNE, BURRITO, PAD_THAI,
    LENTILS, HUMMOUS, VINDALOO;
  }
  }
  
 3、通过泛型 枚举的枚举
 
 4、EnumSet 有2种实现,分为元素小于64和大于64位之分,小于64位时通过位操作判断是否存在
 https://blog.csdn.net/qq_36336003/article/details/83118487
 
 5、enumMap 以枚举为key
 https://blog.csdn.net/lovecaicaiforever/article/details/81531932
 
 6、enum可以添加 常量 抽象方法,定义实际枚举时再实现
 
 7、enum可以覆盖方法
 
 8、一个class可以定义多个enum类
 
 9、枚举也可以作为泛型参数
 10、枚举多路分发可以使用:接口、数组、enumMap
 
 
 

你可能感兴趣的:(编程思想,编程思想)