Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final

internet

Top Contributor
Moin,

wie schaffe ich es den boolean test in der protected bzw. in dem inneren Code zu ändern?

Java:
    private static String test(BinaryExpression expr) {

        boolean test = false;
        
        ExpressionVisitorAdapter expressionVisitorAdapter = new ExpressionVisitorAdapter();

        expr.accept(new ExpressionVisitorAdapter() {

            protected void visitBinaryExpression(BinaryExpression expr) {
                if (expr instanceof ComparisonOperator) {

                    Object left = expr.getLeftExpression();
                    Object operator = expr.getLeftExpression();
                    Object right = expr.getLeftExpression();

                    System.out.println("left=" + expr.getLeftExpression() + "  op=" + expr.getStringExpression()
                            + "  right=" + expr.getRightExpression());
                }
                
                super.visitBinaryExpression(expr);
            }
        });

return null;
    }

Im Moment bekomme ich die Meldung:
Local variable test defined in an enclosing scope must be final or effectively final

Danke
 
Mach die Variable zu einer Klassemvariable oder so. Oh e Details des Designs zu kennen ist da aber nicht viel zu sagen. Static Methode 'riecht schon - ähnlich wie der Code (du rufst 3 Methoden auf und speicherst die Werte in Variablen um das dann zu ignorieren und es erneut aufzurufen?)
 

Zurück
Oben