簡體   English   中英

我無法在 Vaadin 中將 int 轉換為字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM