Java枚举类型的使用
1. 在J2SE5.0中要定义枚举类型是使用enum关键词,枚举类型主要提供一些常数。如下列代码定义了Action枚举类型:
1. 在J2SE5.0中要定义枚举类型是使用enum关键词,枚举类型主要提供一些常数。如下列代码定义了Action枚举类型:
Java代码
public enum Action
{
TURN_LEFT,
TURN_RIGHT,
SHOOT
}
public enum Action
{
TURN_LEFT,
TURN_RIGHT,
SHOOT
} 在Action.java中编写此段代码并编译,虽然语法上不像是在定义类,但枚举类型本质上就是一个类。所以编译完成后,会产生一个Action.class文件。
下面的代码是说明如何使用定义好的枚举类型一个示例:
Java代码
public class EnumDemo
{
public static void main(String[] args)
{
doAction(Action.TURN_RIGHT);
}
public static void doAction(Action action)
{
switch(action)
{
case TURN_LEFT:
System.out.println("向左转");
break;
case TURN_RIGHT:
System.out.println("向右转");
break;
case SHOOT:
System.out.println("射击");
break;
}
}
}
public class EnumDemo
{
public static void main(String[] args)
{
doAction(Action.TURN_RIGHT);
}
public static void doAction(Action action)
{
switch(action)
{
case TURN_LEFT:
System.out.println("向左转");
break;
case TURN_RIGHT:
System.out.println("向右转");
break;
case SHOOT:
System.out.println("射击");
break;
}
}
}
运行结果:向右转。其中doAction()方法所接受的变量必须是Action枚举类型,如果对此方法输入其他类型的变量,编译器会报告错误。另外,如果在上面的switch中加入了不属于Action中枚举的值,编译器也会报告错误。例如:在上面代码case SHOOT段下面再加上以下代码:
case STOP:
System.out.println("STOP");
break;
则在编译时编译器会显示以下错误:
unqualified enumeration constant name required
case
相关文档:
传智播客JAVA培训2010-5-8OA第二天总结
一直以来,都听到这样的话,今天又在网上看到了这样一句话“写出一行代码往往比理解一行代码更重要。因为理解问题也许仅是一个数学上或实验上的技能而已,而写出一行新的代码,却需要有创造性的”。这毫无疑问的表显出来,学程序的最基本道理。当我们报着算法的书籍在啃 ......
最近读完<Java并发编程实践>,无疑这是一本好书,它使得我对线程,锁,以及与并发相关的
一些知识体系更加完备,闲话不多说,下面我系统梳理了下里面的一些理论要点,相信实践上
面,大家或多或少都会有体会,那么用理论的知识点将实践体会笼络起来,将会形成更加牢固
和完备的知识体系,至少我这么认为,写这一篇笔记也是用以 ......
String newStr = new String(oldStr.getBytes(), "UTF-8");
java中的String类是按照unicode进行编码的,当使用String(byte[] bytes, String encoding)构造字符串时,encoding所指的是bytes中的数据是按照那种方式编码的,而不是最后产生的String是什么编码方式,换句话说,是让系 ......
本周遇到一个java乱码问题,于是对java的编码问题做了一些实验和了解。简单分析如下:
先看下如下代码:
import
java.io.UnsupportedEncodingException;
public
class
CharSetTest {
public
static
void
main(String[] args)
throws
UnsupportedEncodingException {
String test =
"
篮球
" ......