📅  最后修改于: 2023-12-03 15:31:52.302000             🧑  作者: Mango
java.util.EnumMap
是一种特定类型的Map,它的Key是enum类型的值。当我们需要有枚举类型为Key的时候,就可以使用EnumMap来优雅地解决问题。本文将介绍EnumMap的 get()
方法。
EnumMap的 get()
方法用于根据指定Key获取对应的Value。 其语法如下:
public V get(Object key)
参数解释:
key
:要查找的Key返回值解释:
下面是一个例子,假设我们有一个枚举类型 State
:
enum State {
START,
RUNNING,
STOP;
}
我们创建一个EnumMap来存储每个状态的消息描述:
EnumMap<State, String> stateMap = new EnumMap<>(State.class);
stateMap.put(State.START, "The application has started");
stateMap.put(State.RUNNING, "The application is running");
stateMap.put(State.STOP, "The application has stopped");
现在我们可以使用 get()
方法来获取对应状态的消息描述:
String startMsg = stateMap.get(State.START);
String runningMsg = stateMap.get(State.RUNNING);
String stopMsg = stateMap.get(State.STOP);
System.out.println(startMsg); // The application has started
System.out.println(runningMsg); // The application is running
System.out.println(stopMsg); // The application has stopped
String unknownMsg = stateMap.get("UNKNOWN_STATE");
System.out.println(unknownMsg); // null
get()
方法时,传入的参数类型必须与Key的枚举类型一致,否则会抛出 ClassCastException
异常。get()
方法会直接返回null。在本文中,我们学习了EnumMap的 get()
方法,以及如何使用它来获取对应Key的Value。同时,我们也了解了在使用该方法时需要注意的事项。