下記のように、同一のAMFデータに対して、ArrayList<?>, ArrayList<String>, String[]などに
Decodeすることが可能です。
// Construction of Data. ArrayList<String> strings = new ArrayList<String>(); strings.add("Item001"); strings.add("Item002"); strings.add("Item003"); strings.add("Item004"); strings.add("Item005"); // How to encode. byte[] amf = AmfUtil.encode(strings); // Encode as ArrayCollection. // How to decode. (ArrayList<?>) ArrayList<?> decoded1 = AmfUtil.decode(amf, ArrayList.class); // How to decode. (ArrayList<String>) ArrayList<String> decoded2 = AmfUtil.decode(amf, TypeUtil.getCollectionType(ArrayList.class, String.class)); // How to decode. (String[]) String[] decoded3 = AmfUtil.decode(amf, String[].class);
この例では、ArrayList<?>とArrayList<String>の例に、実質的な違いはありませんが
要素が確実にString型にdecodeされるという観点から、ArrayList<String>の方法で
指定することが推奨です(要素がStringにDecodeできない場合、例外が発生します)