XStream如何获取我的对象值,因为它们是私有的?
import com.thoughtworks.xstream.XStream;
class Person {
private String name;
public Person(String n) {
name = n;
}
}
public class Main {
public static void main(String[] args) {
XStream stream = new XStream();
Person p = new Person("Joe");
String xml = stream.toXML(p);
System.out.println(xml);
}
}
如何在stackoverflow中突出显示并缩进我的代码?
答案 0 :(得分:1)
我不知道XStream,但他们肯定会使用反射API来禁用访问者(public,private,...)。
答案 1 :(得分:1)
XStream如何获取我的对象值 既然他们是私人的?
它使用reflection。有关XStream如何转换各种java类型
的详细信息,请参阅Converter listing如何突出显示和缩进代码 在stackoverflow中?
突出显示文字并按下看起来像101010的代码按钮
答案 2 :(得分:1)
使用API反射。您可以使用class方法获取'getDeclaredField'的任何字段,然后获取字段value
答案 3 :(得分:0)
他们通过反思来做到这一点。这样您甚至可以访问私人成员。例如,查看here。