热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java中Enum类的常用方法实现

本文来自java快速入门栏目,文中为大家详细介绍了关于java中Enum类的常用方法实现的知识,希望可以帮助到大家。由于Enum类实现了Comoarable和Serializable两个接口,所以枚举类型是可以使用比较器和遍历操作的。

枚举类型预定义的方法:

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快速入门

以上就是java中Enum类的常用方法实现的详细内容,更多请关注其它相关文章!


推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
author-avatar
Wonghowah
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有