[英]I can't convert int to string in Vaadin
我對 Vaadin 和 Spring Boot 有一個小問題。 當我想將 convert int 更改為 string 時,出現此錯誤。 我知道這可能是一個微不足道的問題,但我才剛剛開始學習 Spring Boot。
com.vaadin.flow.component.textfield.IntegerField@1c7a3814
@Route("main")
public class vaadinapp extends VerticalLayout {
public vaadinapp() {
IntegerField integerField = new IntegerField("Age");
Button buttonName = new Button("Left", new Icon(VaadinIcon.ACADEMY_CAP));
Label labelName = new Label();
String integerFieldStr = integerField.toString();
buttonName.addClickListener(clickEvent -> {
labelName.setText(integerFieldStr);
});
add(integerField, buttonName, labelName);
}
}
調用integerField
object 的toString
方法將返回 object 的字符串表示形式,而不是存儲在其中的值。 要檢索值,您可以改用getValue
方法。 像這樣:
public vaadinapp() {
IntegerField integerField = new IntegerField("Age");
Button buttonName = new Button("Left", new Icon(VaadinIcon.ACADEMY_CAP));
Label labelName = new Label();
buttonName.addClickListener(clickEvent -> {
String integerFieldStr =
Optional.ofNullable(integerField.getValue()) //you need this check since getValue could return null
.map(String::valueOf)
.orElse("");
labelName.setText(integerFieldStr);
});
add(integerField, buttonName, labelName);
}
UPD:我還將值檢索代碼移動到偵聽器中。 感謝埃里克的這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.