I was wondering if anyone could explain how the following code works:
public interface Result { public int getCount(); public List<Thing> getThings(); } class SomeClass { ... public Result getThingResult() { final List<Thing> things = .. populated from something. final int count = 5; return new Result { @Override public int getCount() { return count; } @Override public List<Thing> getThings(); return things; } } } ... }
Where is the primitive int, list, and instance of List stored in memory? It can't be on the stack .. so where? Is there any difference in how links and primitives are handled in this situation?
Thanks Tim P.
Tim p source share