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
Тест test0 Test1 Test2 java.lang.ClassCastException: java.lang.Integer не может быть приведен к java.lang.String \t в com.test.scjp.TestGeneric .main (TestGeneric.java:16) –
'l.add (new Integer (1))' <- вы пытаетесь добавить целое число в список, содержащий элементы String. – fge
Вывод в консоли происходит из двух потоков: System.out' и 'System.err', и, как вы можете видеть, иногда вывод из' err' может быть напечатан при печати вывода из 'out'. Чтобы сделать его более читаемыми IDE, например Eclipse, используется другой цвет в 'err'. – Pshemo