我想用逗号检查我输入的字符串,这很简单(只是使用这个:How can I check if a single character appears in a string?)。现在我想检查一个角色是否存在多次。 (在这种情况下一个逗号(/ u002C))我创造了这个代码:Java:检查字符串是否包含多个字符
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的错误,因为它似乎不能走出循环。任何人都可以解释为什么它不能?
注意:我知道可能有更多的方法来检查多个字符,但我只是好奇为什么这给了我一个错误。
任何帮助,非常感谢!
谢谢你这个伟大的解释!我认为ChangeListener只会被用户调用文本框中的文本,但这显然不是真的。 – bashoogzaad 2014-10-31 12:00:29