홈>
Guava StandardTable 클래스는 AbstractTable의 put 메소드를 재정의합니다
// in AbstractTable class
@CanIgnoreReturnValue
@Override
public V put(R rowKey, C columnKey, V value) {
return row(rowKey).put(columnKey, value);
}
// in StandardTable class
@CanIgnoreReturnValue
@Override
public V put(R rowKey, C columnKey, V value) {
checkNotNull(rowKey);
checkNotNull(columnKey);
checkNotNull(value);
return getOrCreate(rowKey).put(columnKey, value);
}
테이블 사용을 만듭니다
Tables.newCustomTable(Maps.newLinkedHashMap(), Maps::newHashMap);
내 코드는 경우에 따라 null 값을 테이블에 설정하지만 gauva는 put 메소드에서 예외를 throw합니다. nullable 값으로 표준 테이블을 어떻게 구현할 수 있습니까? (나는 ForwardingTable을 구현하고 get/put 메소드를 재정의하려고 시도하고 특정 클래스 바꾸기 null 값을 사용하지만 충분하지 않습니다. 예 : 행 메소드는 null 대신 map을 포함하는 특정 클래스를 반환합니다)
- 답변 # 1
관련 자료
- Java의 메서드에서 Lambda 반환 값 반환
- C #에서 메서드 구문을 호출 할 때 값 할당
- python - 중첩 된 사전에서 값을 변경하면 어떤 메서드가 호출됩니까?
- php - Laravel 컬렉션 all () 메서드의 해시 ID 값
- python - 임의의 값을 생성 한 다음 pop 메서드를 사용하여 제거하려면 어떻게해야합니까?
- html - 자바 스크립트에서 값을 비교하는 방법이 있습니까?
- javascript - 각도의 메서드에서 속성으로 값을 전달하는 방법
- c# - 일반 메서드에서`Enum` 값을`int`로 캐스팅 할 수 없습니다
- java - 다른 방법 시도에서 문자열 값 가져 오기
- c# - 하나의 방법으로 하나의 양식으로 여러 버튼에 대한 값 가져 오기
- java - 이 메서드 내에 void 메서드가있는 경우 반환 값으로 메서드를 모의하는 방법
- java - 가치에 따른 방법 평가 동기화
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- JavaScript 변수를 HTML div에 '출력'하는 방법
- python - 문자열에서 특정 문자 제거
null
일반적으로 어떤Collection
에서 키 또는 가치로 간주 또는Map
나쁜 결정으로 간주됩니다. jdk 자체에는 몇 가지 예가 있습니다. 널 키 또는 값을 허용하지않고,ConcurrentHashMap
도 허용 그리고 다른 많은 사람들.ConcurrentSkipListMap
에 추가 된 정적 팩토리 메소드도java-9
처럼 . 심지어Map::of
무효는 null 키와 값을 허용하므로 둘 다 실패하지 않습니다.새로운
그리고 마지막 요점은 모든HashMap<String, String> map = new HashMap<>(); map.put("", null); map.put(null, "");
사용java-8
의 방법HashMap
를 던질 것입니다 :// value trying to be null chm.merge("", null, (k, v) -> k);
입니다 컬렉션은 내결함성이 없으며 훌륭한 결정입니다.guava