我有一个枚举常量的开关大小写标签。我的枚举和大小写标签示例如下:
private Enum PreferenceType {
FIRST,SECOND,THIRD;
private String prefKey;
PreferenceType(String prefKey) {
this.prefKey = prefKey;
}
@Override
public String toString() {
return prefKey;
}
}
private String getPreference() {
switch(getMessage())
{
case PreferenceType.FIRST.toString():
//do something;
break;
case PreferenceType.SECOND.toString():
//do something;
break;
case PreferenceType.THIRD.toString():
//do something;
break;
default: break;
}
}
整个case标签语句由eclipse用红线标记“case PremisceType. FIRST. toString():”,当我将鼠标悬停在case标签上时,错误显示“case表达式必须是常量表达式”。我的jdk是1.7版,我的eclipse是3.7.2版。有人能告诉我如何解决这个问题吗?
错误消息说明了一切——case表达式必须是常量表达式
您使用的是toString()方法的返回值,就编译器而言,它不是常量。
您可以在枚举上切换,但不能在String上切换。
尝试:
private Enum PreferenceType {
FIRST("key1"),SECOND("key2"),THIRD("key3");
static Map<String, PreferenceType> prefMap = new HashMap<String, PreferenceType>();
private String prefKey;
PreferenceType(String prefKey) {
this.prefKey = prefKey;
prefMap.put(prefKey, this);
}
@Override
public String toString() {
return prefKey;
}
public static PreferenceType getPreferenceTypeFor(final String key) {
return prefMap.get(key);
}
}
开关应该是。。。
switch(PreferenceType.getPreferenceTypeFor(getMessage()))
你的案件陈述会是...
case PreferenceType.FIRST:
//do something;
break;
case PreferenceType.SECOND:
//do something;
break;
case PreferenceType.THIRD:
//do something;
break;
现在,当您调用PreferenceType时。getPreferenceTypeFor(“key1”)您将获得PreferenceType。首先可以在交换机中使用。
需要制作一个密码程序,用户在开始时设置密码,在程序停止前可以输入密码3次。该程序不能区分大小写。 程序按预期打印,但不区分大小写
问题内容: 我遇到的问题是我无法让我的密码验证程序来检查字符串,以确保其中的一个字符为大写字母,而一个字符为小写字母,它将检查整个字符串中是否存在一个字符。其他,并根据要检查的语句打印错误消息。 我已经查看了该站点和Internet上的答案,但是找不到。这是功课。 下面是我当前的代码。 问题答案: 要确定字符串是否包含大写和小写字符,可以使用以下命令: 这使您可以检查: 本质上,这通过检查Stri
本文向大家介绍JavaScript更改字符串的大小写,包括了JavaScript更改字符串的大小写的使用技巧和注意事项,需要的朋友参考一下 JavaScript提供了两个方法,将字符串转换为全部大写或全部小写,从而可以将“hello”更改为“HELLO”,或者将“NOT”更改为“not”。你可能会问,为什么?将字符串中的字母转换为相同的大小写,这可以使得比较两个字符串变得更容易。例如,假设你创建了
Python 中,为了方便对字符串中的字母进行大小写转换,字符串变量提供了 3 种方法,分别是 title()、lower() 和 upper()。 Python title()方法 title() 方法用于将字符串中每个单词的首字母转为大写,其他字母全部转为小写,转换完成后,此方法会返回转换得到的字符串。如果字符串中没有需要被转换的字符,此方法会将字符串原封不动地返回。 title() 方法的语
String 类的 toLowerCase() 方法可以将字符串中的所有字符全部转换成小写,而非字母的字符不受影响。语法格式如下: toUpperCase() 则将字符串中的所有字符全部转换成大写,而非字母的字符不受影响。语法格式如下: 例如: 例 1 下面的实例代码演示了如何对字符串应用大写和小写转换。 代码比较简单,运行后的输出结果如下:
Python3 实例 以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等: # Filename : test.py # author by : www.runoob.com str = "www.runoob.com" print(str.upper()) # 把所有字符中的小写字母转换成大写字母 print(str.lower()) #