Java – 为什么我不能使用charAt()来查看char是否等于另一个?
我想看看我的字符串中的字符是否等于某个其他字符值,但我不知道字符串中的字符是什么,所以我使用了这个:
if ( fieldNames.charAt(4) == "f" )
但我得到错误:
"Operator '==' cannot be applied to 'char', 'jav.lang.String'"
但是"g" == "h"
似乎有效,我知道你可以使用'=='
和char类型。
有没有其他方法正确地做到这一点? 谢谢!
if ( fieldNames.charAt(4) == 'f' )
因为"f"
是一个String
而fieldNames.charAt(4)
是一个char
。 你应该使用'f'
作为检查字符
"g" == "h"
有效,因为g和h都是Strings
你不应该使用"g" == "h"
你应该使用"g".equals("h")
代替。 您可以使用==作为primitive
数据类型,如char,int,boolean
….等。但对于像String这样的objects
它确实是不同的。 要知道为什么读这个
但你也可以使用
'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)中使用
charAt(i).equals(’x’)不会一起工作