cuốn sách gpt4 ai đã làm

Java bằng(): phản ánh hoặc không phản ánh

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:04:10 31 4
mua khóa gpt4 Nike

Vấn đề này đặc biệt liên quan đến việc ghi đè phương thức Equals() cho các đối tượng có số lượng trường lớn. Đầu tiên, hãy để tôi nói rằng đối tượng lớn này không thể được chia thành các thành phần mà không vi phạm nguyên tắc OO, vì vậy việc nói với tôi "không có lớp nào được có nhiều hơn x trường" sẽ không giúp ích gì.

Tiếp tục, vấn đề nảy sinh khi tôi quên kiểm tra xem một trong các trường có bằng nhau hay không. Vì vậy, phương pháp bằng của tôi không chính xác. Sau đó tôi nghĩ đến việc sử dụng sự phản ánh:

--mã bị xóa vì quá mất tập trung--

Mục đích của bài đăng này không nhất thiết là để cấu trúc lại mã (thậm chí nó không phải là mã tôi đang làm việc), mà là để hiểu xem đây có phải là một ý tưởng hay hay không.

lợi thế:

  • Nếu một trường mới được thêm vào, nó sẽ tự động bao gồm
  • Phương pháp này đơn giản hơn nhiều so với câu lệnh 30 if

thiếu sót:

  • Nếu một trường mới được thêm vào thì nó sẽ tự động được đưa vào, đôi khi điều này là không mong muốn
  • Hiệu suất: Điều này phải chậm hơn, tôi không thấy cần phải phá vỡ trình lược tả
  • Việc đưa một số trường nhất định vào danh sách trắng để bỏ qua khi so sánh hơi xấu

Có ý tưởng gì không?

câu trả lời hay nhất

Nếu bạn thực sự muốn đưa vào danh sách trắng vì lý do hiệu suất, hãy cân nhắc sử dụng chú thích để cho biết trường nào đang được so sánh. Ngoài ra, nếu các lĩnh vực của bạn không được triển khai tốt bằng(), việc triển khai này sẽ không hoạt động.

P.S. Nếu bạn là bằng() Khi đi con đường này xin đừng quên mã băm() Làm điều gì đó tương tự.

Tái bút Tôi chắc chắn bạn đã nghĩ về nó HashCodeBuilderEqualsBuilder .

Về Java bằng (): phản ánh hay không phản ánh, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/124585/

31 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress