カスタムのMaptoStringメソッドがあります。これは、特定のマップ値タイプに限定されることなく、文字列キーを持つあらゆる種類のマップで使用することを目的としています。マップ値はjavax.jms.Message.getObjectProperty(String name)
、たとえばメソッドから取得された可能性があります。または、単なる文字列である可能性があります。
次のうち、使用するのに最も「適切な」メソッドシグネチャはどれですか。また、その理由はどれですか。
String map2String(Map<String, Object> map){...}
また
String map2String(Map<String, ?> map){...}
また
String map2String(Map<String, ? extends Object> map){...}
または(編集を追加)
<E> String map2String(Map<String, ? extends E> map){...}
または、他の何か?
また、このメソッドには、次のようなfor-eachループが含まれています。
for(Entry<String, ?> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue().toString();
}
どちらが変数の「適切な」タイプであるかは重要です(マップ内の、エントリタイプ内entry
の互換性のない組み合わせを除く)。?
Object