List<String> strs = new ArrayList<>();
strs.add("FOO");
strs.add("BXY");
Person[] persons =
{
new Person(), null, new Person()
}
;
XmlResourceParser parser = getResources().getXml(R.xml.preferences);
ResourcesHolder holder = new ResourcesHolder()
.put("arrayInt", new int[]
{
9, 8, 5
}
)
.put("arrayStringList", strs)
.put("arrayPerson", persons)
.put("my_parser", parser);
// Then, retrieve them back to the original form
int[] ints = holder.getAsIntArray("arrayInt");
//noinspection unchecked
strs = (List<String>) holder.getAsObject("arrayStringList");
// cast them to the original class
persons = (Person[]) holder.getAsObject("arrayPerson");
parser = (XmlResourceParser) holder.getAsObject("my_parser");