我有一个字符串变量str
,其中可能有val1
、val2
和val3
。
if("val1".equalsIgnoreCase(str)||"val2".equalsIgnoreCase(str)||"val3".equalsIgnoreCase(str))
{
//remaining code
}
if(("val1" OR "val2" OR "val3").equalsIgnoreCase(str) //this is only an idea.
很抱歉重新提出这个老问题,对于Java8+,我认为最好的解决方案是Elliott Frisch提供的方案(stream.of(“str1”,“str2”,“str3”).anymatches(str::equalsignorecase)
),但它似乎缺少了一个最早版本的Java最简单的解决方案:
if(Arrays.asList("val1", "val2", "val3", ..., "val_n").contains(str.toLowerCase())){
//...
}
您可以通过检查变量str
的非空性以及在创建后缓存列表来应用一些错误预防措施。
// List of lower-case possibilities
final List<String> list = Arrays.asList("val1", "val2", "val3", ..., "val_n");
for(String str : somethingYouCouldTheReadStringFrom()){
if(str != null && list.contains(str.toLowerCase())){
//...
}
}
问题内容: 我有一个字符串变量,有可能值,和。 我想使用if语句将所有这些值进行比较(大小写相等),例如: 有没有一种方法可以避免使用多个OR(||)运算符并在一个表达式中比较值?例如,像这样: 问题答案: 我找到了更好的解决方案。这可以通过RegEx实现: 对于不区分大小写的匹配:
但是如何修改(或更改)它为可为空的字符串(如果字符串是return)?
问题内容: 我是Java的新手,为了实践起见,我试图创建一个十六进制到十进制的数字转换器,因为我已经成功地制作了一个二进制到十进制的转换器。 我遇到的问题基本上是将一个字符串中的给定字符与另一个字符串进行比较。这就是我定义要比较的当前字符的方式: 这是我尝试比较角色的方法: 当我尝试通过仅输入数字(例如12)来运行代码时,它可以工作,但是当我尝试使用“ b”时,会出现一个奇怪的错误。这是运行程序的
问题内容: Python如何将多个变量与一个值进行比较?,例如: 我希望返回一个列表: 问题答案: 方法1 方法2 使用元组或列表 方法3 最好是使用set集合