Returning an anonymous class that uses a final primitive. How does it work?
- by Tim P
Hi,
I was wondering if someone 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 do the primitive int , List reference and List instance get stored in memory? It can't be on the stack.. so where?
Is there a difference between how references and primitives are handled in this situation?
Thanks a bunch,
Tim P.