我有一个逗号分隔的字符串,即
String charList = "A,F,3,K,X";
我有一个我要比较的字符,看它是否存在于此列表中,即
char firstChar = 'A'
我想做类似的事情来查看字符串中是否存在字符,而不必进行一堆字符串解析和循环:
System.out.println(charList.contains(firstChar))
但是,contains方法需要CharSequence而不是char。除了做自己的循环和比较之外,还有更好的方法吗?
boolean matches = false;
for (int i = 0; i < charList.length(); i++){
if(firstChar == s.charAt(i)) {
matches = true;
}
}
答案 0 :(得分:1)
您可以采用以下几种方式:
position
的{{1}}是否不是char
(意味着找不到)String.indexOf(char)
-1
boolean match = charList.indexOf(firstChar) != -1;
String
contains
{需要从char
传递到char
String
} String.contains(CharSequence)
< / LI>
+""
答案 1 :(得分:0)
将char
转换为String
charList.contains(firstChar + "")
charList.contains(Character.toString(firstChar))
charList.indexOf(firstChar) >= 0
使用带有String.matches(String)的正则表达式可能会对单个字符造成轻微的过度杀伤,但如果您有多个,则可能很方便
charList.matches("[ABC]") //true if contains 'A', 'B', or 'C'
答案 2 :(得分:0)
试试这个
matches = charList.contains(String.valueOf(firstChar));