Java—为什么可以';我用charAt()来看看一个字符是否等于另一个字符?
我想知道字符串中的字符是否等于某个其他字符值,但我不知道字符串中的字符是什么,因此我使用了以下方法:Java—为什么可以';我用charAt()来看看一个字符是否等于另一个字符?,java,string,char,equals,Java,String,Char,Equals,我想知道字符串中的字符是否等于某个其他字符值,但我不知道字符串中的字符是什么,因此我使用了以下方法: if ( fieldNames.charAt(4) == "f" ) 但我得到了一个错误: "Operator '==' cannot be applied to 'char', 'jav.lang.String'" 但是“g”==“h”似乎很有效,我知道可以将“==”用于字符类型 有没有其他正确的方法? 谢谢 因为“f”是字符串和字段名。字符(4)是字符。您应该使用'f'检查字符 “g”=
if ( fieldNames.charAt(4) == "f" )
但我得到了一个错误:
"Operator '==' cannot be applied to 'char', 'jav.lang.String'"
但是“g”==“h”
似乎很有效,我知道可以将“==”
用于字符类型
有没有其他正确的方法?
谢谢
因为“f”
是字符串
和字段名。字符(4)
是字符
。您应该使用'f'
检查字符
“g”==“h”
之所以有效,是因为g和h都是字符串
您不应该使用“g”==“h”
您应该使用“g.equals”(“h”)
。
对于原语
数据类型,如字符、int、boolean等,您可以使用==但对于对象
等字符串,它实际上是不同的。
但你也可以使用
'g' == 'h'
您应该用双引号包装字符串,用单引号包装字符
String s="g";
char c='g';
但char只能有一个字符,而String可以有多个字符
String s="gg"; valid
char c='gg'; not valid
我也遇到了同样的问题,但我能够用以下方法解决:
if (str.substring(0,1).equals("x") )
子字符串可用于循环str.substring(i,i+1)
字符(i).equals('x')将不能一起工作
if(String(fieldNames.charAt(4))==“f”).equals(),但您必须记住,字符需要撇号('),而不是引号(“)。例如:someChar.equals('c')对字符有效,someString.equals(“c”)对字符串有效。
是字符串,'f'
是字符。非常感谢!我从来不知道。“g”==“h”
编译但不起作用。值得指出的是,您可以将char
与==
进行比较,但无法将String
@boristeider进行比较是的。我将其添加到了答案中。谢谢@当然对不起。不知道为什么我一开始不接受它!
if (str.substring(0,1).equals("x") )