第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何使用不同的對象作為值來實現(xiàn) Java Hashmap

如何使用不同的對象作為值來實現(xiàn) Java Hashmap

蝴蝶刀刀 2022-10-12 15:41:08
我想通過 Jackson 解析 YAML 文件,但遇到的問題是其中一個屬性(我們稱之為“事件”)有一個名為“類型”的字符串和一個“屬性”對象,該對象因不同的事件而異。我的問題是我需要為此 YAML 定義 POJO。因此,我想定義一個帶有 VariableObject 的 Hashmap,它可以是任何一些預(yù)定義的類(為簡潔起見,假設(shè)為 Shipping 和 Inventory)。我怎樣才能實現(xiàn)這樣的Hashmap?public class Event {    private static String type;    private static Map<String, VariableObject> properties;    public static void main(String[] args) {        Inventory inventory = new Inventory("inventoryName", 13);        properties.put("Inventory", inventory);        Shipping shipping = new Shipping("shippingName", true);        properties.put("Shipping", shipping);    }}public class Inventory {    private static String name;    private static int someNumber;    public Inventory(String name, int someNumber) {        this.name = name;        this.someNumber = someNumber;    }}public class Shipping {    private static String name;    private static boolean someBoolean;    public Shipping(String name, boolean someBoolean) {        this.name = name;        this.someBoolean = someBoolean;    }}
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊

你說的很簡單Object。它是最具體的常見超類:

private static Map<String, Object> properties;

其他解決方案是制作InventoryShipping實現(xiàn)一些通用接口,例如Named并將其用作HashMap.


查看完整回答
反對 回復(fù) 2022-10-12
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

一種方法是制作Shipping和Inventory實現(xiàn)相同的接口(如VariableObject在您的 cas 中)


public class Event {

    private static String type;

    private static Map<String, VariableObject> properties;


    public static void main(String[] args) {

        Inventory inventory = new Inventory("inventoryName", 13);

        properties.put("Inventory", inventory);

        Shipping shipping = new Shipping("shippingName", true);

        properties.put("Shipping", shipping);

    }

}


public interface VariableObject{

//you can define common methods here if you want

}



public class Inventory implements VariableObject{


    private static String name;

    private static int someNumber;


    public Inventory(String name, int someNumber) {

        this.name = name;

        this.someNumber = someNumber;

    }

}



public class Shipping implements VariableObject{


    private static String name;

    private static boolean someBoolean;


    public Shipping(String name, boolean someBoolean) {

        this.name = name;

        this.someBoolean = someBoolean;

    }

}


查看完整回答
反對 回復(fù) 2022-10-12
  • 2 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號