我有一些字符串(字符串结果),用户插入它在应用程序中没有任何大小写敏感策略用户可以插入,如:“fail”或“fail”或“fail”或“success”或“success”等。而且我只有一个方法用于它们,如fail()、success()和must call related method
现在,我想通过使用以下常量(成功、失败、...)将一个字符串使用到开关大小写语句中:
public final class ActionResultStatus
{
public static final String SUCCESS = "Success";
public static final String FAIL = "Fail";
public static final String REJECTED = "Rejected";
public static final String IN_PROGRESS = "InProgress";
}
String result = userClass.getResult(); //UserClass is a container class for user inputted data
switch(result)
{
case ActionResultStatus.FAIL:
fail();
case ActionResultStatus.SUCCESS :
success();
}
请注意:
1-我不想为结果使用ToUpperCase()
或ToLowerCase()
,因为我必须添加更多大小写语句。
2-我不能将Constatn类字段值更改为小写,它们必须是Pascal大小写,比如:“success”,因为它们必须以Pascal大小写模式在DB上保持
3-而且我认为我不能使用equalIgnoreCase()
方法来处理这种情况,因为这不是if语句。
打倒你。
把逻辑分开一点。首先将状态转换为and Enum,该Enum具有查找函数以查找枚举:
public enum ActionResultStatus {
SUCCESS("Success"),
FAIL("Fail"),
REJECTED("Rejected"),
IN_PROGESS("InProgress"),
UNKNOWN("Unknown");
private String outputStr;
private ActionResultStatus(String output) {
outputStr = output;
}
public static ActionResultStatus findStatus(String input) {
for (ActionResultStatus status : values()) {
if (input.equalsIgnoreCase(status.outputStr)) {
return status;
}
}
return UNKNOWN;
}
public String toString() {
return outputStr;
}
}
那么您的处理逻辑就会变成这样:
ActionResultStatus status = ActionResultStatus.findStatus(userClass.getResult());
switch (status) {
case FAIL: fail(); break;
case SUCCESS: success(); break;
default: break;
}
问题内容: 为每个对象提供一种方法,因此给一个类似 一个人可以像 如果传递给的字符串与现有值不匹配(区分大小写),则将引发an 。 要进行不区分大小写的匹配,可以在枚举内编写自定义方法,例如 假设方法是在编译时隐式添加到类中,是否有任何通用方法可以不编写值或任何其他额外对象的缓存,而只编写一次上述方法(例如,不是每个方法)? 这种“通用” 方法的签名将类似于该方法,即: 并且它将为任何对象完全实现
在执行MySQL 数据库给数据表改名时,发现报错,如下: 从提示中可以看出 blog_comment,表已经存在,可登录 MySQL 客户端查看数据表,并没有看到这张表。 提示中所说目标表并不存在。手动执行改名SQLRENAME TABLE blog_Comment TO blog_comment;,报同样错误:Table 'blog_comment' already exists。 从网上找一些
本文向大家介绍Java中Switch Case使用字符串,包括了Java中Switch Case使用字符串的使用技巧和注意事项,需要的朋友参考一下 Java 7的引入增强了Switch的case,即它也支持字符串。 首先,设置一个字符串- 现在,在switch中使用相同的字符串,如下所示- 示例 现在,像平常使用SWITCH CASE一样检查每个字符串是否使用大小写。以下是在Switch Case
如果在不同的目录中写入两个具有相同不区分大小写名称的公共Java类,那么这两个类在运行时都不可用。(我在Windows、Mac和Linux上测试了HotSpot JVM的几个版本。如果有其他JVM可以同时使用,我不会感到惊讶。(例如,如果我创建一个名为的类和一个名为的类,如下所示: 我的网站上提供了三个包含上述代码的eclipse项目。 如果尝试我调用在两个类上像这样: typechecker成功
问题内容: 这是我的mysql表的架构,即时通讯使用mysql 5 需要敏感的UNIQUE KEY大小写, 它应该允许输入类似(’a’,0)&(’A’,0)的值 尝试将排序规则更改为latin_1和latin_generic_ci 问题答案: 最简单的是在DDL语句上添加, SQLFiddle演示
问题内容: 默认情况下,django的url解算器似乎执行区分大小写的搜索来解析url,并区分’/ Login’和’login’。我的网址格式如下。 谁能指导我,如何使Django URL不区分大小写? 问题答案: 只需放在每个字符串的开头,即: 告诉每个RE不区分大小写地匹配