我想用逗號檢查我輸入的字符串,這很簡單(只是使用這個: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