package com.test.scjp;
import java.util.List;
import java.util.ArrayList;
public class TestGeneric {
public static void main(String args[]){
try{
List<String> l = new ArrayList<String>();
TestGeneric t = new TestGeneric();
//t.test(l);
System.out.println("Test");
l=t.test(l);
System.out.println("Test2");
System.out.println(l.get(0));
}
catch(Exception e){
e.printStackTrace();
}
}
public List<String> test(List l){
System.out.println("Test0");
l.add(new Integer(1));
System.out.println("Test1");
return l;
}
}
このコードを 20 回実行すると、さまざまな出力が得られます。
出力 1:
Test
Test0
Test1
Test2
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at com.test.scjp.TestGeneric.main(TestGeneric.java:16)
出力 2:
Test
Test0
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at com.test.scjp.TestGeneric.main(TestGeneric.java:16)
Test1
Test2