public class Direction
{
public static final Direction East = new Direction("East");
public static final Direction West = new Direction("West");
public static final Direction North = new Direction("North");
public static final Direction South = new Direction("South");
private final String dirString;
private Direction(String name)
{
dirString = name;
}
public String toString()
{
return dirString;
}
public static Direction parse(String ds)
{
try
{
Direction ret = null;
Field[] fs = Direction.class.getFields();
for (int i = 0; i < fs.length; i++)
{
Field f = fs[i];
if (f.getType().getName().equals(Direction.class.getName()))
{
if (f.getName().toUpperCase().equals(ds.toUpperCase()))
{
ret = (Direction) f.get(null);
break;
}
}
}
return ret;
}
catch (Exception ex)
{
throw new RuntimeException(ds + " is a invalid direction enum string.");
}
}
}
此博客展示了一个Java方向枚举类的实现。定义了东、西、南、北四个方向常量,包含构造方法和toString方法。还提供了一个解析字符串为方向对象的方法,若解析失败会抛出运行时异常,体现了Java类和异常处理的运用。
98

被折叠的 条评论
为什么被折叠?



