我编写了一个遍历大字符串的for循环,其目标是查看我的字符串是否包含$或$$等字符。 这是我在for-loop中的if语句:
if (stringName.charAt(i) == "$" || stringName.charAt(i) == "$$")
当我编译我的代码时,我得到一个错误,说“无法比较的类型:char和String”这是自我解释的。 现在我的问题是,解决它的最佳方法是什么?除了charAt()之外,我可以用什么方法比较两个字符串“$$”?
答案 0 :(得分:0)
单个字符无法与两个字符进行比较。除了语法问题,难以想象。
您的代码在两个地方发生了变化:
Char类型的单撇号,和他的API中的字符串选择(substring()
和比较(equals()
)
if (stringName.charAt(i) == '$' || stringName.substring(i,i+2).equals("$$"))
EDIT 同意,第二个条件是多余的,让我们先了解问题
if (stringName.charAt(i) == 'A' || stringName.substring(i,i+2).equals("BB"))
感谢您的评论
答案 1 :(得分:0)
您应该使用String.substring()代替。您可以像这样重写代码:
if (stringName.charAt(i) == '$' || stringName.substring(i, i + 2).equals("$$"))