Java 使用replaceAll()方法时出错

Java 使用replaceAll()方法时出错,java,string,character,replaceall,Java,String,Character,Replaceall,我有一些代码如下所示: str.replaceAll('$', ' '); return str; 这里我要做的是用空格替换字符串str中的每个$实例。但我在编译时遇到了这个错误: incompatible types: char cannot be converted to String str.replaceAll('$', ' '); ^ 但我并没有把任何东西转换成字符串,而是用空格字符替换一个字符。那么为什么我会出现这个错

我有一些代码如下所示:

str.replaceAll('$', ' ');
return str;
这里我要做的是用空格替换字符串str中的每个$实例。但我在编译时遇到了这个错误:

incompatible types: char cannot be converted to String
        str.replaceAll('$', ' ');
                       ^

但我并没有把任何东西转换成字符串,而是用空格字符替换一个字符。那么为什么我会出现这个错误呢?

replaceAll需要两个字符串,但您正在传递字符。根据您要使用的方法是

public String replaceAll(String regex,
                String replacement)
所以你的代码应该是

str.replaceAll ("$", "");  
注意

如果您确实需要使用
replaceAll
,则转义“$”标记
\\\$

但是

正如在正则表达式中一样,“$”具有特殊含义(字符串末尾)并且您没有任何特殊的正则表达式要求,然后使用
替换

str = str.replace ("$", "");