作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要的是一个允许以下操作的枚举:
假设我有一个名为 ANIMALS
的枚举,其元素为:Mammal
、Fish
、Bird
。
我想要的是,对于 Mammal
来说,里面有更多的枚举,例如 cow
、tiger
、pony
.
它应该像这样使用:
switch(animals)
{
case Mammal:
do something specific for all mammals
switch(animals.mammal)
{
case Cow:
do something specific for cow
break;
case Tiger:....
}
case Fish:
....
}
如果已经实现,请告诉我该怎么做;如果不是,请帮我想办法。
顺便说一句,我实际上需要做的是区分我应该使用哪种 Texture
和 GameElement
类型。例如,InteriorWall
与 ExteriorWall
具有不同的纹理,因此我希望它们的枚举不同。
使用示例:WallType.InteriorWall.Texture1
最佳答案
ENUM 并非旨在执行您所要求的操作。看来你想用经典的object oriented design 。例如:
public abstract class Animal {
}
public class Mammal extends Animal {
}
看看composite reuse也是如此。
关于Java 枚举序列和切换功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438105/
我是一名优秀的程序员,十分优秀!