PageParameters.hashCode is inconsistent with equals for named parameters in a different order
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Tìm PageParameters.equals và PageParameters.hashCode trong mã nguồn Java, sau đó đọc phần triển khai và các bài kiểm thử gần đó. Thêm hoặc cập nhật một bài kiểm thử cho các tham số có tên giống nhau được chèn theo thứ tự khác nhau, rồi xác minh rằng mã băm của chúng khớp nhau; issue mô tả việc cộng mã băm của các cặp là một cách tiếp cận khả thi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
PageParameters.equals and PageParameters.hashCode disagree about the named parameters, so two PageParameters that are equal can have different hash codes. That breaks the contract of Object.hashCode.
equals compares the named parameters regardless of their order: the lists must hold the same pairs, each the same number of times. hashCode uses namedParameters.hashCode(), the order-sensitive hash of the List<NamedPair>.
PageParameters a = new PageParameters().add("a", "1").add("b", "2");
PageParameters b = new PageParameters().add("b", "2").add("a", "1");
a.equals(b); // true
a.hashCode() == b.hashCode(); // false
Anything that puts PageParameters in a hash-based collection, or in a key that includes them, can treat these two as different. The fix is to make hashCode order-insensitive for the named parameters, for example by summing the hash codes of the pairs.
- Ngôn ngữ chính
- Java
- Star
- 799
- Fork
- 420
- Merge trung bình
- 18 giờ 37 phút
- Pull request đã merge (30 ngày)
- 140
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/wicket
-
Document and enforce pull request review guidelinesCó thể đã có người làm @dashorst đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
COOP and COEP exemptions compare with the context path, so page exemptions never matchCó thể đã có người làm @asvanberg đã nhận 18 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
apache/wicket#1661 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
The CSP report-uri is lost in development mode because strict() clears itCó thể làm lại được @VelpulaGangavardhan đã nhận 23 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/wicket#1660 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/wicket
Issue tương tự
-
`Time.at(t, in: nil)` returns UTC instead of the local time (or the time zone of `t`), unlike CRubyĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
hermes-queue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
chrisalunlloyd2-sudo/mindpalace#349 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Retry-After parser accepts invalid delay-seconds valuesCó thể đã có người làm @Dhruvraj-Rana đã nhận hôm nay. Đang mởBug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
open-telemetry/opentelemetry-java#9018 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug priority: medium Review effort [1-5]: 2 status: needs-triage type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
carlos-emr/carlos#5818 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue help wanted tooling
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
appmonster007/kmip-adapter#100 ·