【发布时间】:2014-12-27 17:22:16
【问题描述】:
我想用逗号检查我输入的字符串,这很容易(只需使用这个:How can I check if a single character appears in a string?)。现在我想检查一个角色是否不止一次出现。 (在本例中为逗号 (/u002C))我创建了以下代码:
public static void addTextLimiterDouble(final TextField tf, final int maxLength, final Button submitButton) {
tf.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(final ObservableValue<? extends String> ov, final String oldValue, final String newValue) {
if (oldValue.contains("\u002C") && newValue.endsWith("\u002C")) {
tf.setText(oldValue);
}
}
});
这会产生 StackOverflow 错误,因为它似乎无法脱离循环。谁能解释为什么不能?
注意:我知道可能有更多方法可以检查多个字符,但我只是好奇为什么这会给我一个错误。
非常感谢任何帮助!
【问题讨论】:
标签: java javafx contains ends-with