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("*"), "");

07-26 02:41