티스토리 뷰

728x90
반응형

static member accessed via instance reference


만약 이러한 코드가 있을 때,


1
2
3
4
public class MainViewModel  {
    public static final ObservableArrayList<Node.Info> nodeArr = new ObservableArrayList<>();
    public static final ObservableArrayMap<Integer, String> nodeSetMap = new ObservableArrayMap<>();
}
cs


이렇게 호출하면 해당 경고 메시지를 보여준다


1
viewModel.nodeSetMap.get(Code.PW)
cs



내용은 클래스 자체가 아닌 viewModel 인스턴스를 통해 정적 List


호출하기 때문이라고 한다.


이것은 정적 List가 실제로 인스턴스의 일부 상태에 의존하는 


인스턴스 List 임을 제안하기 때문에 '나쁘다' 라고 한다



올바른 호출은 다음과 같다


1
MainViewModel.nodeSetMap.get(Code.AP)
cs


반응형

'프로그래밍 > Android' 카테고리의 다른 글

[Android.Error] failed to resolve : android.arch  (0) 2017.11.30
FCM, GCM  (0) 2017.11.16
[Android] RecyclerView 에서 DataBinding  (0) 2017.10.30
[Android] Handler.handleMessage() 사용  (0) 2017.10.29
[Android] 메모리관리  (0) 2017.10.29
공지사항
최근에 올라온 글