Skip to content

Commit f8e6098

Browse files
authored
Merge pull request giantray#103 from 245455758/master
完成了how-to-get-an-enum-value-from-a-string-value-in-java问题的翻译
2 parents f4a0667 + 7500914 commit f8e6098

2 files changed

+27
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## 怎样得到指定名称的枚举类型对应的的字符串类型的枚举常量
2+
3+
### 问题:
4+
假如说我有一个如下的枚举类
5+
6+
```java
7+
public enum Blah {
8+
A, B, C, D
9+
}
10+
```
11+
而我想要找出具有指定名称的枚举类型对应的的字符串类型的枚举常量,打个比方``"A"``对应的值为``Blah.A``
12+
此时我应该怎么做?
13+
我是不是应该使用``Enum.valueOf()``这个方法?如果是的话,我又该怎么使用它?
14+
15+
### 回答:
16+
是的,``Blah.valueOf("A")``将会给你你想要的``Blah.A``
17+
不过需要注意的是,你输入的名字必须是绝对匹配的,像``Blah.valueOf("a")````Blah.valueOf("A ")``都会抛出``IllegalArgumentException``
18+
注:第一个表达式``a````A``不匹配
19+
第二个表达式``A ``后面多了一个空格
20+
21+
静态方法``valueOf()````values()``在编译时创建并且不会出现在编译后的源码里。但尽管如此,这两个方法还是确实出现在了Java文档里,[文档连接](https://docs.oracle.com/javase/7/docs/api/java/awt/Dialog.ModalityType.html)
22+
23+
stackoverflow讨论地址 [https://stackoverflow.com/questions/604424/how-to-get-an-enum-value-from-a-string-value-in-java](https://stackoverflow.com/questions/604424/how-to-get-an-enum-value-from-a-string-value-in-java)
24+
25+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## 为什么它会进入死循环
2+

0 commit comments

Comments
 (0)