本文目录一览:
java中的枚举类型指的是什么啊?
在Java中,枚举类型本质上其实就是一个类,枚举中的常量都是该枚举类型的实例。虽然枚举类型有一些限制,比如不能再派生出子枚举类型,不能调用构造函数,不过我们仍然可以在枚举类型中定义构造函数、字段和方法
java枚举类怎么写
枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
1234567
package com; public enum Color { RED, GREEN, BLANK, YELLOW }
使用
123456789101112131415161718192021
package com; public class B { public static void main(String[] args) { System.out.println( isRed( Color.BLANK ) ) ; //结果: false System.out.println( isRed( Color.RED ) ) ; //结果: true } static boolean isRed( Color color ){ if ( Color.RED.equals( color )) { return true ; } return false ; } }
或者 switch 的使用
12345678910111213141516171819202122232425
package com; public class B { public static void main(String[] args) { showColor( Color.RED ); } static void showColor(Color color){ switch ( color ) { case BLANK: System.out.println( color ); break; case RED : System.out.println( color ); break; default: System.out.println( color ); break; } }}
2、自定义函数
package com; public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); private String name ; private int index ; private Color( String name , int index ){ this.name = name ; this.index = index ; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } }
使用
package com; public class B { public static void main(String[] args) { //输出某一枚举的值 System.out.println( Color.RED.getName() ); System.out.println( Color.RED.getIndex() ); //遍历所有的枚举 for( Color color : Color.values()){ System.out.println( color + " name: " + color.getName() + " index: " + color.getIndex() ); } } }
结果
红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。
java什么是枚举类型
你可以理解为枚举也是一个类,但是这个类只有在内部声明的几个对象,不可新建对象。当你想使用枚举类的对象的时候,就像使用类的静态资源一样就行了。
Java语言中的枚举类型如何使用?
Java语言中的枚举类型的使用方法如下:
用法一:常量;
public enum Color {
RED, GREEN, BLANK, YELLOW
}
用法二:switch;
enum Signal {
GREEN, YELLOW, RED
}
public class TrafficLight {
Signal color = Signal.RED;
public void change() {
switch (color) {
case RED:
color = Signal.GREEN;
break;
case YELLOW:
color = Signal.RED;
break;
case GREEN:
color = Signal.YELLOW;
break;
}
}
}
用法三:向枚举中添加新方法;
public enum Color {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
用法四:覆盖枚举的方法;
public class Test {
public enum Color {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 覆盖方法
@Override
public String toString() {
return this.index + "_" + this.name;
}
}
public static void main(String[] args) {
System.out.println(Color.RED.toString());
}
}
用法五:实现接口;
public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 接口方法
@Override
public String getInfo() {
return this.name;
}
// 接口方法
@Override
public void print() {
System.out.println(this.index + ":" + this.name);
}
}
用法六:使用接口组织枚举。
public interface Food {
enum Coffee implements Food {
BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
}
enum Dessert implements Food {
FRUIT, CAKE, GELATO
}
}
以上就是Java语言中枚举类型的基本使用方法。
java枚举类型
InitParameter是在web.xml中配置的Servlet初始参数,采用:
init-param/init-param形式写入。
Enumeration是一个枚举接口,遍历枚举就能得到init-param参数名称,如:
while
(enums.hasMoreElements
())
{
String
paramName
=
(String)
enums.nextElement
()
;
String
paramValue
=
getInitParameterValue
(paramName)
;
...
other
process
here..
}