안녕하세요.

Java 를  잘 몰라서 그런데요.


class 의  멤버변수를  함수나  inner class 에서 사용할 때,  

final  로컬 변수에 넣어서 사용하는 코드를 많이 보았는데요.

이렇게 하는 특별한 이유가 있는 것인가요? 



            mDesktopItems = new ArrayList<ItemInfo>();
            mDesktopAppWidgets = new ArrayList<LauncherAppWidgetInfo>();
            mFolders = new HashMap<Long, FolderInfo>();

            final ArrayList<ItemInfo> desktopItems = mDesktopItems;
            final ArrayList<LauncherAppWidgetInfo> desktopAppWidgets = mDesktopAppWidgets;


위 코드는  launcher 의 소스중 일부 인데요.

멤버 변수를  할당하고는   아래서 다시 final 변수에 넣어서 쓰더군요.


감사합니다.