Dường như hashCode() và equals() được khai báo là cuối cùng. Vì vậy, việc ghi đè việc triển khai là không thể. Nó cũng nói rằng bằng() trả về true nếu các đối tượng là JavaScript giống hệt nhau (ba bằng). Tôi không hoàn toàn chắc chắn điều đó có nghĩa là tạo ra hai JavaScriptObject giống hệt nhau trong GWT và so sánh chúng với equals() trả về false. Có vẻ như hashcode() sử dụng bộ đếm tăng đơn điệu để gán mã băm cho đối tượng JavaScript bên dưới. Nếu tôi muốn lưu trữ JavaScriptObjects trong một Set thì điều này sẽ phức tạp. Bất kì sự trợ giúp nào đều được đánh giá cao.Cách tốt nhất để so sánh hai JavaScriptObject trong GWT là gì?
6
A
Trả lời
5
Tùy thuộc vào tiêu chí bình đẳng bạn muốn sử dụng cho trường hợp của mình.
- Nếu bạn muốn nhận dạng đối tượng, bạn có thể sử dụng hàm được xác định trước() và hashCode() - và đặt JavaScriptObject trực tiếp vào HashSet.
- Nếu bạn cần một khái niệm bình đẳng khác, bạn có thể viết Công cụ so sánh của riêng mình và đặt JavaScriptObjects vào, ví dụ: một TreeSet, được tạo bởi
TreeSet(comparator)
mới. - Nếu bạn cần đặt JavaScriptObject trong một HashSet (không phải là một TreeSet) và vẫn cần một khái niệm bình đẳng khác, bạn không thể đặt JavaScriptObject trực tiếp trong Tập hợp. Sau đó, bạn phải viết một lớp bao bọc, chứa JavaScriptObject và thực hiện equals() và hashCode().
Các vấn đề liên quan
- 1. Cách tốt nhất để so sánh hai thực thể khung thực thể là gì?
- 2. Cách tốt nhất để so sánh enums
- 3. Cách tạo JavaScriptObject bằng tay trong GWT?
- 4. Plugin Eclipse GWT tốt nhất là gì?
- 5. Cách tốt nhất để so sánh ngày trong Perl là gì?
- 6. Cách nhanh nhất để so sánh cài đặt IIS của hai máy chủ là gì?
- 7. Cách tốt nhất để so sánh 2 cây thư mục trên cửa sổ là gì?
- 8. Cách tốt nhất để so sánh một số thuộc tính javabean là gì?
- 9. Cách tốt nhất để so sánh nội dung của hai đối tượng giống như danh sách là gì?
- 10. Cách tốt nhất để so sánh với 0 trong PHP?
- 11. Cách tốt nhất để so sánh giá trị với 'không xác định' là gì?
- 12. So sánh GWT và Django?
- 13. Cách tốt nhất để so sánh std :: strings
- 14. Cách tốt nhất để so sánh hai danh sách chuỗi lớn, sử dụng C# và LINQ?
- 15. Cách tốt nhất để so sánh 2 biến thể của truy vấn SQL để thực hiện là gì?
- 16. Cách ngắn nhất để so sánh là gì nếu hai IEnumerable <T> có cùng các mục trong C#?
- 17. Cách so sánh hai tệp trong Eclipse?
- 18. Cách so sánh hai ngày?
- 19. So sánh giữa GWT và Spring MVC
- 20. Cách so sánh hai ngày trong SQLite?
- 21. So sánh hai đối tượng.
- 22. Cách tốt nhất để thiết kế một máy chủ GWT "Platform-Independent" là gì?
- 23. Cách đơn giản nhất để so sánh hai đối tượng google :: protobuf :: Message với nhau là gì?
- 24. Cách so sánh hai ngày trong php
- 25. Công cụ để so sánh trang web là gì?
- 26. Cách hiệu quả nhất để so sánh cấu trúc C++ với C# là gì?
- 27. cách tốt nhất để có kích thước tệp là gì?
- 28. Chức năng thích hợp để so sánh hai chuỗi kiểu C là gì?
- 29. Cách so sánh hai truy vấn?
- 30. So sánh hai số NSStrings
Cảm ơn lời khuyên của Chris. – affablebloke
Viết một lớp bao bọc chung thực hiện equals() và hashCode() của riêng nó là giải pháp, vì tôi đang sử dụng MultiSelectionModel từ GWT và nội bộ bên trong của MultiSelectionModel sử dụng HashMap và HashSet. –
affablebloke