//Java 1.4
ArrayList list = new ArrayList();
list.add("a string of text");
String myString = (String) list.get(0); //A runtime type check must be done here to ensure that the value returned is a String
//Java 1.5
ArrayList<String> list = new ArrayList<String>();
list.add("a string of text");
String myString = list.get(0); //Is a runtime check (cast) still occuring here internally?