enum的小知识

xiaoxiao2021-02-28  58

1.自己写的enum都继承于Enum,所以就不能继承别的类,只能实现接口。

2.我们可以使用.values()方法遍历enum,但是一旦我们向上转化,把自己的enum赋值给Enum,就不可以使用values()。因为Enum方法中没有values()方法,子类中的方法是编译器插入到子类enum中的static方法,我们可以使用类中的getEnumConstants()

代码如下

package EnumPackage; enum Search{HITHER,YON} public class UpcastEnum {     public static void main(String[] args){         Enum e=Search.HITHER;         for(Enum en:e.getClass().getEnumConstants()){             System.out.println(en);         }     } }

结果:

HITHER YON 3.注意由于getEnumConstants()方法是Class中的,所有也可以在非Enum类中调用,只不过一旦使用值就会报空指针

代码如下:

package EnumPackage; public class NonNum {     public static void main(String[] args){         Class<Integer> intClass=Integer.class;         try{         for(Object en:intClass.getEnumConstants()){             System.out.println(en);         }         }catch(Exception e){             System.out.println(e);         }     } }

结果:

java.lang.NullPointerException

转载请注明原文地址: https://www.6miu.com/read-70797.html

最新回复(0)