This is just a basic question. I don't really understand why in the context of this code the generic variable "Item" doesn't become a pointer shared to the same address the array points to.
The code:
public T pop(){
T item = stack[size]; // stack is an array of type T
stack[size] = null;
return item;
}
(No exceptions are thrown- code compiles and runs successfully)