【发布时间】:2016-09-02 11:53:57
【问题描述】:
尝试在StringBuffer
中搜索_
字符的出现。我的代码在下面,但是当我运行时,StringBuffer
中的每个数字都会打印Match
。
不知道这是否有区别,但我在学习网站上运行此代码,因此没有纯 Java 调试器。我检查了标准转义字符,这不是其中之一,所以我没有想法。
StringBuffer buffer = new StringBuffer(functionName);
System.out.println(buffer);
char compare='_';
char x;
for(int i=0;i<buffer.length();i++){
x = buffer.charAt(i);
System.out.println(x);
if(x==compare);
System.out.println("Match");
}
有人想吗?
【问题讨论】:
-
使用
equals
方法而不是==
-
@kaanyılmaz 错误。为了比较
char
,==
是正确的方法,与所有原语一样。 -
另外,FWIW,any 体面的 IDE 会在该特定行发出警告,准确说明它有什么问题。在这种情况下,他没有使用一个是 OP 的错。此外,使用 Always Put Braces Around 规则/重新格式化在这里会有所帮助。
标签: java if-statement char