У меня есть следующий статический фабричный метод, который создает представление списка из-за целочисленный массив:Где конечный параметр хранится в экземпляре анонимного класса?
public static List<Integer> newInstance(final int[] numbers) {
return new AbstractList<Integer>() {
@Override
public Integer get(int index) {
return numbers[index];
}
@Override
public int size() {
return numbers.length;
}
};
}
public static void main(String[] args) {
int[] sequence = {10, 20, 30};
List<Integer> list = ListFactory.newInstance(sequence);
System.out.println("List is "+list);
}
В «Эффективное Java» Джошуа Блох упомянул этот
как адаптер, который позволяет Int массив, который будет отображаться как список экземпляров Integer.
Однако я помню, что адаптер использует композицию, а экземпляр реализации анонимного списка должен использовать int [] в качестве поля-члена.
Где именно хранится входной параметр int [], если он не является полем члена реализации анонимного списка?
Буду признателен, если кто-нибудь может предоставить некоторые идеи или некоторые ссылки, чтобы найти дополнительную информацию.
Спасибо, что упомянул javac -d. -XD-printflat, что более чем полезно в этом случае! –