亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java.lang.IllegalArgumentException:無法識別的字段“面包”

java.lang.IllegalArgumentException:無法識別的字段“面包”

汪汪一只貓 2022-06-15 14:42:46
這是我的 JUnit 測試:package general;import io.vertx.core.json.JsonObject;import io.vertx.ext.unit.TestContext;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;class Foo {    String loaf = "";    static boolean dog() {        return true;    }}public class GeneralTest {      @Test    public void test() {        JsonObject v = new JsonObject();        v.put("loaf","box");        var k = v.mapTo(Foo.class);        System.out.println(k);    }}當我運行它時,我收到此錯誤:java.lang.IllegalArgumentException: Unrecognized field "loaf" (class general.Foo), not marked as ignorable (0 known properties: ]) at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: general.Foo["loaf"])        at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3750)        at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3668)        at io.vertx.core.json.JsonObject.mapTo(JsonObject.java:106)        at general.GeneralTest.test(GeneralTest.java:33)我不明白為什么它不接受 Foo.class 是有效的?
查看完整描述

2 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

我認為該字段需要公開是一個簡單的案例:


class Foo {


  public String loaf = "";  // make the field public


  static boolean dog(){

    return true;

  }

}


查看完整回答
反對 回復 2022-06-15
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

有幾種可能的解決方案。一種是創建如前所述的公共財產MrCholo。


class Foo {

    public String loaf = "";

}

另一個,創建一個二傳手。


class Foo {

    String loaf = "";


    public void setLoaf(String loaf){

        this.loaf = loaf;

    }

}

或者最后,注釋它。


class Foo {

    @JsonProperty

    String loaf = "";

}

這些工作中的任何一項。


查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 391 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號