I am aware of that unbounded wildcard type is going to be erased and replaced with Object vy type erasure and unbounded wildcard types are the reifiable type which type information is fully available at runtime.I know difference between List<Object> , List, List<?>
. I know what is the List<?>
at compile time. I know that List<?>
store unknown type.
I know it has strong compile-time safety and flexibility but I want to know what happens in runtime.
But I cannot understand what List<?> is at runtime.
Is it list of object references? Is it raw type List?
For example
List<?> list = new ArrayList<Integer>();
What is the list at runtime and how to behave?
I read all java language specification please don't throw just an FAQ to my face.
Note that I read following Questions and I do not find my answer(can be duplicate)