홈>
우리는 정직하게 이해하지 못하는 충돌 보고서를 받았으며, 그것이 좋은 질문인지는 확실하지 않지만 ... 아무것도 생각할 수 없습니다.
다음 코드가 있습니다 :
public class LeisureEventSelectedCategories {
private Set<Long> ids = new TreeSet<>();
public boolean contains(Long id) {
if (id == null) {
return false;
}
return ids.contains(id);
}
라인
return ids.contains(id)
가있는 곳
다음 예외로 인해 충돌이 발생합니다.
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long
at java.lang.Long.compareTo(Long.java)
at java.util.TreeMap.find(TreeMap.java)
at java.util.TreeMap.findByObject(TreeMap.java)
at java.util.TreeMap.containsKey(TreeMap.java)
at java.util.TreeSet.contains(TreeSet.java)
at com.acme.b.a.d.a(LeisureEventSelectedCategories.java:50)
Long
나는 여기
Map<String, Long>
에서 수신
.
leisureEventSelectedCategories.contains(eventCategoryNameToEventId.get(categoryName)) || leisurePlaceSelectedCategories.contains(placeCategoryNameToPlaceId.get(categoryName)),
어디
Map<String, Long> placeCategoryNameToPlaceId = new LinkedHashMap<>();
Map<String, Long> eventCategoryNameToEventId = new LinkedHashMap<>();
TreeSet
교체는 제외
HashSet
와 함께
그리고
Collections.sort()
를 사용하여
필요한 곳,이 문제의 원인은 무엇이며 앞으로는 어떻게 피해야하나요?
수정 :
leisureEventSelectedCategories
의 값 이미지
서버에서 오는 모든 항목을 선택한 후 :
eventCategoryNameToPlaceId
의 값 이미지
- 답변 # 1
관련 자료
- c# - 리소스에서 WPF 문자열을 가져 오면 예외가 발생합니다
- Google Apps Script가 브라우저 클래스를 찾을 수 없음
- java - JVM이 해당 클래스의 이름이있는 경우 해당 클래스에서 주 메서드에 액세스하기 위해 주 메서드를 포함하는 클래스의 개체를 만들 수없는 이유는 무엇입니까?
- java - IntelliJ 문제-> 이름이 "Main"인 클래스를 만들 수 없음
- android - MVVM을 사용하는 동안 ViewModel 클래스의 인스턴스를 만들 수 없습니다
- c++ - WIN32 대화 상자에서 예외 발생
- c++ - 클래스 개체가 자신의 개인 멤버에 액세스 할 수 없습니까?
- python - 함수는 내장 클래스이며 참조하려고 할 때 NameError를 발생시킵니다
- javascript - 다른 클래스의 클래스에서 메서드를 호출하는 방법은 무엇입니까? 속성 '테스트'JS를 읽을 수 없습니다
- kotlin - Jooq fetchInto 클래스 javautilLinkedHashMap은 클래스로 캐스트 될 수 없습니다
- c# - … 유형의 표현식은 클래스가 봉인 된 경우 패턴으로 처리 할 수 없습니다
- c# - Linq Reflection Expression에서 속성 속성에 예외가 발생합니다
- flutter - Dart 클래스에서 최종 Widget [] 자식을 수행 할 수없는 이유
- android - findViewById가 경고 대화 상자 위젯에서 사용될 때 null 예외를 발생시킵니다
- java - 메서드가 예외를 throw하는지 확인하고 예외가 발생하면 종료하는 방법은 무엇입니까?
- ssl - c # tls13 예외 - 프레임 크기를 확인할 수 없거나 손상된 프레임이 수신되었습니다
- Ruby 클래스 외부에서 메서드를 호출하면 NoMethod 오류가 발생하는 이유와이를 수정하는 방법은 무엇입니까?
- c# - 프로그램을 실행할 때 처리되지 않은 예외 IndexOutOfRange가 발생합니다
- c# - 예외를 발생시키는 클래스에 대해 메서드가 호출되었는지 확인하는 방법
- c# - 처리되지 않은 예외 - systemioioexception : 프로세스가 파일에 액세스 할 수 없습니다
관련 질문
- java : Android 11 : 내 휴대 전화의 외부 저장소에있는 모든 파일을 어떻게 효율적으로 나열하나요?
- java : 발리 요청을 받기 위해 바디를 설정하는 방법은 무엇입니까?
- java : Android를 사용한 모바일 대 모바일 원격 액세스
- Android 또는 Java에서 현재 날짜부터 이전 날짜까지 날짜를 정렬하는 방법은 무엇입니까?
- Android Studio 앱을 원격 MySQL에 연결하는 중 오류 : java.sql.SQLNonTransientConnectionException : 데이터베이스 서버에 대한 연결을 만들 수 없습니다.
- java : 내 앱이 내 메인에서 내 대시 보드 활동으로 전환되지 않습니다. 내 의도 또는 명시에 문제가 있습니까?
- java : RSA Android->PC 비 호환
- java : EditText가 비어 있거나 Android가 아닌지 확인하는 방법
- java : 백그라운드에서 작업을 수행하는 방법은 무엇입니까?
- java : 스케줄러에서 발생한 치명적인 예외
결국 우리는 그것을
LinkedHashSet<Long>
로 대체했습니다. 충돌이 사라졌습니다.