19.9|19.9 使用EnumMap
package chapter19._9;
import chapter19._8.AlarmPoints;
import java.util.EnumMap;
import java.util.Map;
import static chapter19._8.AlarmPoints.*;
interface Command {void action();
}public class EnumMaps {public static void main(String[] args) {
EnumMap em = new EnumMap(AlarmPoints.class);
em.put(KITCHEN, new Command() {
@Override
public void action() {
System.out.println("Kitchen fire!");
}
});
em.put(BATHROOM, new Command() {
@Override
public void action() {
System.out.println("Bathroom alert!");
}
});
for (Map.Entry e : em.entrySet()) {
System.out.print(e.getKey() + ": ");
e.getValue().action();
}try {
em.get(UTILITY).action();
} catch (Exception e) {
System.out.println(e);
}}}
输出:
【19.9|19.9 使用EnumMap】BATHROOM: Bathroom alert!
KITCHEN: Kitchen fire!
java.lang.NullPointerException
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小