hashCode()
및 equals()
메소드에 대한 체크 스타일을 완전히 비활성화하려면 구성 예가 필요합니다.hashCode 및 같음에 대한 checkstyle을 비활성화하십시오.
답변
이 정말 질문에 대한 답변이 아니라 롬복 정말 상용구 코드 이런 종류의 피해에 빛나는 :
@EqualsAndHashCode(of="id")
: 당신은 당신의 클래스에 주석을 달 수 있으며,이 경우를 들어 http://projectlombok.org
을 또는
는하지만, checkstyle에 대해 그것을 테스트하지 않았습니다
@EqualsAndHashCode(excludes={"these","fields","wont","be","compared"})
...
답변과 같이 보이고 테스트해야하며 진행 여부는 –
멋진 소식입니다. 그것이 도움이 되었기 때문에 기뻤다! :) – elias
예 -이 문제를 어떻게 든 해결합니다 ... 코드에서 멋지게 보입니다! –
Checkstyle 5.5: Coding Config에서 EqualsHashCode를 참조하십시오. checkstyle 구성 파일에서
<module name="EqualsHashCode"/>
을 제거하거나 이클립스 플러그인을 통해 제거하십시오. 하지만 내가 왜 이러는 지 물어볼거야. equals() 및 hashCode()를 잘못 구현하면 오류의 일반적인 원인이되므로이 작업을 수행하기 전에 매우주의해야합니다.
eclipe를 사용하여 생성하고 있습니다. checkstyle xml에서 비활성화해야한다는 것을 알고 있습니다. 질문은 방법입니다. 나는 그 방법에 대한 모든 체크를 무효로하고 싶다. –
@Matthew Farwell : 나는 * hashCode() *와 * equals *에 대한 overreliance가 더 나쁜 질병이라고 주장 할 것이다. 조슈아 블로흐 (Joshua Bloch)의 "Effective Java *"의 견적을 통해 권위에 호소하십시오. "인스턴스화 가능한 클래스를 확장하고 동등한 계약을 유지하면서 aspect를 추가하는 방법은 없습니다. 이것은 매우 잘 알려져 있고, 잘 문서화되어 있으며, 실제 문제입니다. 하나는 예외를 던지는 기본 hashCode/equals가 "올바른"equals/hashCode를 구현하려는 것보다 더 건전하다고 주장 할 수 있습니다. Martin Odersky : http://www.artima.com/lejava/articles/equality.html – TacticalCoder
@Matthew Farwell : 이제 당연히 I * do * use * hashCode *와 * equals *와 모든 위대한 콜렉션을 사용합니다. 이것들 ...하지만 상속의 면면에서 이것이 얼마나 힘든 일인지를 지적하기를 원했습니다 : Artima의 기사 (그리고 그것이 부과하는 제한)의 * canEqual * 메소드 설명은 나에게 눈을 뜨게했습니다. 체크 스타일이 확인하는 것;) – TacticalCoder
일식의 Checkstyle. Windows -> 환경 설정 -> Checkstyle을여십시오.
기본 구성을 사용하는 경우 다른 이름으로 복사하고 복사 된 것을 선택한 다음 구성을 클릭하십시오. 같음을 검색하고 코딩 문제에서 '같음 및 해시 코드'를 선택하십시오. 필요없는 모든 항목을 선택 취소하십시오.
정상적으로 실행되고 기본값으로 설정됩니다.
허드슨은 특정 규칙 집합에 대해 checkstyle을 실행합니다. 위의 방법을 사용하여 생성 한 규칙으로 해당 규칙을 바꿉니다. – bluesman
- 1. 주소에 대한 hashCode 및 같음 만들기
- 2. Java - TreeSet 및 hashCode()
- 3. 관련된 엔티티에 대한 hashCode() 메소드
- 4. hashcode() 및 equals()에 대해
- 5. Java : 자동 equals() 및 hashCode()
- 6. 자바에서 equals() 및 hashCode() 계약
- 7. 가장자리 클래스에 대한 Java hashCode() 덮어 쓰기
- 8. 스칼라에서 구현 된 JavaBeans에 대한 equals 및 hashCode 메서드 재정의
- 9. Hibernate 복합 키에 대한 bulletprooh hashCode 생성
- 10. HashMap에서 사용하기위한 객체 배열에 대한 hashCode()
- 11. hashCode/equals 계약에 대한 JUnit 이론
- 12. double.POSITIVE_INFINITY의 hashCode
- 13. XULRunner에서 window.onbeforeunload 및 window.onunload를 비활성화하십시오.
- 14. Checkstyle을 사용하여 Javadoc에 액세스 하시겠습니까?
- 15. checkstyle을 사용하여 코드 형식 지정
- 16. Join + IEqualityComparer <T> 및 HashCode
- 17. hashCode() 및 getClass() 네이티브 메소드가 왜 그렇습니까?
- 18. 언제 equals 및 hashcode 메서드를 재정의해야합니까?
- 19. .htaccess를 사용하여 하위 폴더에 대한 액세스를 비활성화하십시오.
- 20. 해시 코드 (Hashcode) 기능
- 21. 경고보기 버튼을 비활성화하십시오
- 22. oam.Flash.RENDERMAP.TOKEN을 비활성화하십시오.
- 23. HashMap 구현 : --- hashcode
- 24. 음수 값을 제공하는 HashCode
- 25. Java 스크립팅에서 importPackage, importClass 및 JavaImporter를 비활성화하십시오.
- 26. 메뉴 막대 및 도킹을 프로그래밍 방식으로 비활성화하십시오.
- 27. ANT없이 .java 파일에서만 Checkstyle을 실행하는 방법이 있습니까?
- 28. Java에서 hashCode()를 계산하는 방법
- 29. 그루비 : 등호와 hashCode 메소드를 생성
- 30. 추상 메서드의 구현을 비활성화하십시오.
@shaman matthews 솔루션에 문제가 있습니까? – oers
문제는 checkstyle이 augogenerated equals() 및 hashcode() 메서드의 코드에서 검사를 수행하는 경향이 있다는 것입니다. 일반적으로 코드 작성 규칙을 위반합니다. –