У меня есть статическая функция, которая принимает параметр X.Доступ к теневой переменной из анонимного класса
В этой статической функции я создаю анонимный класс. Этот класс должен иметь переменную-член, также называемую X.
Из функций в анонимном классе, как я могу получить доступ к параметру функции X?
Для иллюстрации:
class Test {
static void func(final List<T> X) {
new Test() {
final T[] X = ?.X.toArray();
};
}
}
В моем реальном коде я хочу создать массив в моем анонимном классе из списка аргументов (через toArray()
в инициализации анонимного класса), и я хочу, чтобы повторно использовать одно и то же имя переменной, а не использовать венгерскую нотацию, чтобы различать их.
Почему вы не добавляете другую переменную, называемую чем-то другим, которая не является «X» внутри статической функции, а затем вызывает ее из анонимного класса? – m1o2
@ m1o2 да, но это большое количество переменных с близким к одному имени, которые просто обозначают альтернативные типы данных, которые я пытаюсь очистить. Мой код был бы намного чище, если бы я мог изменить тип переменной. – Will