У меня возникают проблемы, обертывающие мою голову вокруг того, что действительно возвращает getValue()
: вернее, у Eclipse есть эта проблема. Это мой ComboBox:Редактируемый ComboBox: проблемы с getValue()
ComboBox<Integer> intBox = new ComboBox<Integer>;
ObservableList<Integer> intList = FXCollections.observableArrayList();
я заполняю ComboBox
с Целыми из intList
, выполнив:
intBox.getItems().addAll(intList);
И я также установить ComboBox
для редактирования, делая setEditable(true)
.
Проблема заключается в том, что если я пытаюсь сохранить значение intBox.getValue()
в переменной Integer
или int
, я получаю «java.lang.ClassCastException: java.lang.String не может быть приведен к java.lang.Integer» во время выполнения Но если я попытаюсь сохранить его в String
, вместо этого Eclipse даст мне ошибку компиляции: «Тип несоответствия: невозможно преобразовать из Integer в String». Поэтому компилятор сообщает мне свой Integer, но я все еще не могу хранить это в Integer, почему?
Я также пробовал различные обходные пути, как Integer.parseInt
, getValue().intValue()
и Integer.toString()
и хранить эти значения в различных переменных различных ДАТ атипы, но все они дали мне те же или подобные ошибки.