Java: Доступ к локальным переменным из внутреннего класса? (PriorityQueue)

Я хочу использоватьPriorityQueue сделать топологическую сортировку на графе. Для краткости яЯ хотел бы использовать анонимный внутренний класс для компаратора. Однако мне нужен доступ к графикуg для того, чтобы определить степень узлов I 'Я смотрю на. Это возможно?

    /**
 * topological sort 
 * @param g must be a dag
 */
public static Queue topoSort(DirectedGraph g) {
    Queue result = new PriorityQueue(g.vertexSet().size(), 
            new Comparator() {

                DirectedGraph g;

                @Override
                public int compare(String arg0, String arg1) {
                    if (g.inDegreeOf(arg0) < g.inDegreeOf(arg1)) {
                        return -1;
                    }
                    if (g.inDegreeOf(arg0) > g.inDegreeOf(arg1)) {
                        return 1;
                    }
                    return 0;
                }
    });

    result.addAll(g.vertexSet());

    return result;
}

ИСПРАВЛЕННЫЙ КОД

/**
 * topological sort 
 * @param g must be a dag
 */
public static Queue topoSort(final DirectedGraph g) {
    Queue result = new PriorityQueue(g.vertexSet().size(), 
            new Comparator() {          
                @Override
                public int compare(String arg0, String arg1) {
                    if (g.inDegreeOf(arg0) < g.inDegreeOf(arg1)) {
                        return -1;
                    }
                    if (g.inDegreeOf(arg0) > g.inDegreeOf(arg1)) {
                        return 1;
                    }
                    return 0;
                }
    });

    result.addAll(g.vertexSet());

    return result;
}

Ответы на вопрос(3)

Ваш ответ на вопрос