【发布时间】:2018-06-17 13:48:15
【问题描述】:
java:不兼容的类型:char 无法转换为 java.lang.CharSequence
boolean checkParentheses(String str) {
Deque<Character> stack = new ArrayDeque<>();
String k = "({[";
String s = ")]}";
for (int i = 0; i < str.length();i++ ) {
if (k.contains(str.charAt(i))) {
stack.push(str.charAt(i));
} else if (s.contains(str.charAt(i))) {
if (matching(stack.peek()) == str.charAt(i)) {
return true;
}
} else {
return false;
}
}
}
我应该使用什么来代替包含?
【问题讨论】:
-
k.indexOf(str.charAt(i)) != -1 -
k.contains(str.charAt(i)没有接受字符的String.contains -
也许你应该问:我应该用什么来代替 str.charAt(i)。试试 s.contains(String.valueOf(str.charAt(i))
-
尝试使用 indexOf 而不是包含。包含需要一个字符串(AKA CharSequence),但你有一个字符。也可以参考:javamanikandan.blogspot.in/2018/01/…
标签: java string parentheses