0

2 つのオブジェクトをパラメーターとして取り、それらから XML をマーシャリングするユーティリティ メソッドを作成したいと考えています。以下のコードは、from パラメーターに実際の Object 型を使用すると機能しますが、これをジェネリックにするにはどうすればよいですか? 以下は、オブジェクトから型に解決できないため、コンパイルされません。何か案は?

 public static String getXML(Object from){
    StringWriter xml = new StringWriter();
    try {
      JAXBContext.newInstance(from.class).createMarshaller().marshal(from, xml);
    } catch (Exception e) {
      e.printStackTrace();
    }
    return xml.toString();
  }
4

1 に答える 1

1

Classこのようにオブジェクトのインスタンスを取得できます

JAXBContext.newInstance(from.getClass()) //...

これはOjbect#getClass()javadoc で説明されています。

このオブジェクトのランタイム クラスを返します。

このコード スニペットに直接関与するジェネリックはないことに注意してください。

于 2013-09-24T17:03:23.460 に答える