作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到一个奇怪的问题,即当检查两个看似相同的字符串时,if 语句的计算结果不为 true。我有以下方法:
public void render(Cell.Context context, TaskSchedule object, SafeHtmlBuilder sb) {
String taskName = getValue(object);
System.out.println(taskName);
if (String.valueOf(ServerTask.RUN_CYME_EXPORT).equals(taskName)) {
taskName = " " + taskName;
}
}
taskName 将打印出“Run CYME Export”,枚举 ServerTask 如下所示:
public enum ServerTask {
.....
RUN_CYME_EXPORT("Run CYME Export"),
.....
}
打印的字符串和枚举中的字符串拼写完全相同。我也试过了,没有效果:
if(String.valueOf(ServerTask.RUN_CYME_EXPORT).equals(taskName)){
.....
}
最佳答案
枚举应该类似于:
public enum ServerTask {
RUN_CYME_EXPORT("Run CYME Export");
private final String value;
private ServerTask(String aValue) {this.value = aValue;}
public String value() {return value;}
}
所以从外部来看:
if (ServerTask.RUN_CYME_EXPORT.value().equals(taskName)) {
// whatever
}
关于Java 字符串与枚举的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397632/
我是一名优秀的程序员,十分优秀!