java中Enum类的常用方法实现
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
枚举类型预定义的方法:
public static enumtype[] values() //枚举类型的数组,该数组包含枚举的所有枚举成员,并按他们的生命顺序存储
public static enumtype valueOf(String str) //返回名称为str的枚举成员
java示例:
package java示例;
enum Direction
{
EAST,NORTH,SOUTH,WEST
}
public class 不包含方法的枚举 {
public static void main(String[] args)
{
Direction dir=Direction.EAST;
Direction dir1=Direction.valueOf("NORTH");
System.out.print(dir);
System.out.println(" "+dir1);
for(Direction d:Direction.values())
//d.ordinal()返回枚举成员在枚举中的序号
//d.name()返回枚举常量的名称
System.out.println("序号:"+d.ordinal()+"的值为:"+d.name());
}
}
运行结果:
EAST NORTH
序号:0的值为:EAST
序号:1的值为:NORTH
序号:2的值为:SOUTH
序号:3的值为:WEST
由于所有的枚举类都继承了java.lang,Enum,该类定义了枚举公用的方法以便用户使用。由于Enum类实现了java.lang.Comoarable和java.lang.Serializable两个接口,所以枚举类型是可以使用比较器和遍历操作的。
(相关学习视频分享:java视频教程)
下面给出Enum类的常用方法:
public final int comparaTo(E o) //返回当前枚举成员与参数枚举成员o在定义时顺序的比较结果
public final String name() //返回枚举常量的名称
public final int ordinal() //返回枚举成员在枚举中的序号
public final boolean equals(Object obj) //比较两个枚举引用的对象是否相等
public String toString() //返回枚举成员的名称
public static《T extends Enum《T》》T valueOf(Class《T》enumType,String name) //返回指定枚举类型和指定名称的枚举成员
java示例:
package java示例;
enum Direction{
EAST("东"),SOUTH("南"),WEST("西"),NORTH("北");
private String name;
private Direction(String name) {
this.name=name;
}
public String toString() {
return name;
}
}
public class 示例 {
public static void main(String[] args) {
//public static>T valueOf(ClassenumType,String name)
//返回指定枚举类型和指定名称的枚举成员
Direction dir=Enum.valueOf(Direction.class, "NORTH");
System.out.println(dir);
for(Direction d:Direction.values())
//d.name()返回枚举常量的名称
//d.toString()返回枚举成员的名称
System.out.println(d.name()+"的属性是"+d.toString());
}
}
运行结果:
北
EAST的属性是东
SOUTH的属性是南
WEST的属性是西
NORTH的属性是北
package Example;
enum Direction1
{
EAST,SOUTH,WEST,NORTH
}
enum Direction2
{
EAST,SOUTH,WEST,NORTH
}
public class Example5 {
public static void main(String[] args)
{
Direction1 dir1=Direction1.WEST;
Direction2 dir2=Direction2.NORTH;
Direction1 dir3=Direction1.NORTH;
System.out.println(dir1.compareTo(dir3));
System.out.println(dir1.equals(dir2));
}
}
运行结果:
-1
false
``
相关文章教程推荐:java快速入门
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341