private String unusedDigits = new String("0123456789*#");
unusedDigits = unusedDigits.replaceFirst("1", "");
//...
unusedDigits = unusedDigits.replaceFirst("*", ""); // <--- problem
是Java初学者。为什么将
replaceFirst()
与"*"
一起使用时会遇到问题?它转到一些不同的代码流(与某些synchronized
有关)。如果我评论该声明,那么一切正常! 最佳答案
在replaceFirst()
中,第一个参数是正则表达式。您可以改用Pattern.quote("*")
:
unusedDigits = unusedDigits.replaceFirst(Pattern.quote("*"), "");