如何在Java中检查字符串是否等于“+”

如何在Java中检查字符串是否等于“+”,java,string,comparison,Java,String,Comparison,if子句返回false。为什么?我应该在if子句中使用什么方法使其返回true?提前谢谢。为什么不使用 String value = "+"; if (value.contains("\\+")) { value = value.replaceAll("\\+", " "); } 不要使用value.equals+,因为它会产生空指针异常,您可以使用like+。equalsvalue它会起作用。在使用String.contains检查值中是否存在+时,需要删除\\。它需要字符序列来搜索

if子句返回false。为什么?我应该在if子句中使用什么方法使其返回true?提前谢谢。

为什么不使用

String value = "+";
if (value.contains("\\+"))
{
    value = value.replaceAll("\\+", " ");
}
不要使用value.equals+,因为它会产生空指针异常,您可以使用like+。equalsvalue它会起作用。

在使用String.contains检查值中是否存在+时,需要删除\\。它需要字符序列来搜索,而不是正则表达式。但是,您需要传递一个正则表达式作为String.replaceAll方法的第一个参数:

value.equals("+")
对于您的情况,可以使用String.replace,因为它接受字符串文本

String value = "+";
if (value.contains("+"))
{
    value = value.replaceAll("\\+", " ");
}

... 您是否曾经尝试过:+.equalsvalue?在我看来,您似乎过度考虑了这一点。是否要检查字符串是否等于+或是否包含+符号?contains接受的是文字字符串,而不是正则表达式!删除\\。并使用replace,而不是replaceAll。这里不需要RexEx。您是否考虑在没有进行第一次检查的情况下替换所有的事件?抛出异常…java.util.regex.PatternSyntaxException:在索引附近悬挂元字符“+”0@Amy不要使用正则表达式。@rcs在+文本上调用equals比在value变量上调用equals更好。它避免了冒着失败的风险NullPointerException@OHGODSPIDERSrcs改变了他的答案,他在那里有contains方法first@Stultuske这无关紧要:contains也不使用regex。
value = value.replace("+", " ");