Java 컬렉션의 제거 메소드가 일반이 아닌 이유는 무엇입니까?
Java 컬렉션 프레임워크는 컬렉션과 맵 모두에 대해 제거() 메소드를 제공합니다. 그러나 이 메서드는 일반적이지 않습니다. 즉, E 유형 매개 변수가 아닌 개체를 인수로 받아들입니다. 이 결정은 Remove()를 제네릭으로 만드는 것의 잠재적 이점에 대한 의문을 제기했습니다.
remove()를 제네릭으로 만드는 데 대한 한 가지 주장은 실수로 컬렉션에서 호환되지 않는 유형을 제거하려고 할 때 컴파일 시간 오류를 방지할 수 있다는 것입니다. . 예를 들어, Collection
그러나 Remove()가 일반적이지 않은 이유는 주로 다음을 허용하기 때문입니다. 엄격한 유형 검사보다는 동등성을 기반으로 객체를 제거합니다. Remove() 메서드 사양에 따르면 제거할 요소는 (o==null ? e==null : o.equals(e))가 true인 객체 e로 식별됩니다. 이렇게 하면 제거된 객체가 제거() 메서드에 전달된 객체와 동일한 유형일 필요가 없으므로 요소 제거에 유연성이 허용됩니다.
예를 들어 Map
위 내용은 Java 컬렉션의 `remove()` 메소드가 일반적이지 않은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!