![](/img/trans.png)
[英]JavaFX-How to fix image load failure in a .jnlp file need serious @!d
[英]JavaFX-how to avoid loading null values from whatever to TextField?
有一個輸入驗證方法,其中包含:一些驗證步驟,僅在編輯用例為空或包含一些輸入但在保存用例時工作正常時,此異常才會發生。
@FXML private TextField txt_field;
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
.
.
.
Caused by: java.lang.NullPointerException
將null加載到此textField並嘗試獲取length()時會發生這種情況:
txt_field.setText(null); //value is null as loaded from DB.
if(txt_field.getText().length() > 15) //the line of exception.
因此,為避免這種情況,加載空值時應該怎么辦?
假設您無法檢查從數據庫出來的數據庫是否為空,則可以執行以下操作
var myText = txt_field.getText();
if(myText != null && myText.length > 15) {
// do stuff
}
如果要將文本直接設置為不為null的值,則可以嘗試:
txt_field.setText(dbValue == null? "" : dbValue);
由於您是使用java-8標記的,因此您可以嘗試使用Optionals:
Optional dbValue = Optional.ofNullable(getDBValue()); // get the value from the DB
txt_field.setText(dbValue.orElse("");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.