2

現在、autobean として処理されるクラスのセットアップがあります。

public interface Asset extends Hit {
    String getGuid();
    String getHitType();
    Map<String,Serializable> getMetadata();
}

Serializable の代わりに Object を使用してみました:

Map<String,Object>  getMetadata()

しかし、これはデータにアクセスしようとすると爆発するようです (「具体化」されていないため)。

メタデータ マップには、他のマップ、文字列、int などが含まれる場合があります。そのメタデータ オブジェクトの内部マップからデータを取得するにはどうすればよいですか?

現在、asset.getMetadata().get("title"); を呼び出すと、これは SerializableAutoBean を返し、そのオブジェクトに対して toString() または String.valueOf(obj) を実行すると、実際の文字列値ではなく、メモリ内オブジェクト情報が返されます。

AutoBean オブジェクトをこのように動的にすることはできますか?それとも、特にすべてのフィールドを定義する必要がありますか?

4

1 に答える 1