Java:我可以在枚举中使用两个不同的名称来算作相同的东西吗?
发布时间:2020-12-14 06:00:41 所属栏目:Java 来源:网络整理
导读:我有一个具有主要方向的枚举课程(北,东,南,西): public enum Direction { NORTH,EAST,SOUTH,WEST;} 有没有办法能够使用同一个东西的多个名字?例如这样的: public enum Direction { NORTH or N,EAST or E,SOUTH or S,WEST or W;} 实际上,我想要的是能够并
我有一个具有主要方向的枚举课程(北,东,南,西):
public enum Direction { NORTH,EAST,SOUTH,WEST; } 有没有办法能够使用同一个东西的多个名字?例如这样的: public enum Direction { NORTH or N,EAST or E,SOUTH or S,WEST or W; } 实际上,我想要的是能够并且向N或NORTH的变量签名,并且这两个操作是完全相同的. 例: Direction direction1=new Direction.NORTH; Direction direction2=new Direction.N; //direction1==direction2 解决方法public enum Direction { NORTH,WEST,; // Convenience names. public static final Direction N = NORTH; public static final Direction E = EAST; public static final Direction S = SOUTH; public static final Direction W = WEST; } 是合法的,但是“N”不能与自动生成的valueOf方法一起使用.即Direction.valueOf(“N”)将抛出一个IllegalArgumentException而不是返回Direction.NORTH. 你也不能写案例N:.您必须在其值为“方向”的开关中使用全名. 除此之外,缩写形式应该与完整版一样工作.您可以在EnumSets中使用Direction.N,将其比较为Direction.N == Direction.NORTH,获取其名称()(即“NORTH”),导入静态yourpackage.Direction.N等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |