Раньше вроде Java в этом месте требовала чтобы локальная переменная была final?
От: dmitritch  
Дата: 18.01.19 13:24
Оценка:
Вроде раньше Java требовала чтобы локальная переменная point в таких случаях объявлялась как final или я что-то путаю?

private void showAddVerticeBox() {
    Point point = getAddedPointCoordinates();

    if(addPointBox == null) {    
        addPointBox = new PopupPanel();
        Button plusButton = new Button();
        addPointBox.add(plusButton);
        
        plusButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                addNewPoint(point);
            }
        });
    }
    
    addPointBox.show();
}


Написал такой код потом сидел думал почему у меня при втором и последующем вызове метода добавляется та же точка что и в первый раз А значение локальной переменной оказывается захватывается и потом используется как ни в чем не бывало во всех последующих вызовах
java
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.