Nhiều công cụ kiểm tra mã nguồn chuẩn (PMD, FindBugs, Checkstyles) đều thực hiện quy tắc "Chuỗi bình đẳng", khi sử dụng ==
(hoặc !=
) khi so sánh chuỗi có thể được phát hiện và báo cáo là một lỗi.Kiểm tra các tệp Java cho == Lỗi, không giới hạn ở các chuỗi
Tôi đang tìm cách viết (hoặc định cấu hình!) Một quy tắc tương tự hoạt động trên một tập hợp các loại đối tượng khác trong API của tôi.
//Want to detect things like:
Instance a = ...;
Instance b = ...;
if (a == b) //Error here, not using a.equals(b)
Nhìn vào PMD & FindBugs không có cách nào rõ ràng (hoặc dễ dàng) để làm điều này, có ai đi qua một cái gì đó như thế này?
Chúc mừng, Ro
Cần lưu ý rằng việc sử dụng == với các đối tượng có thể là một điều hợp lý để làm. Khi bạn muốn biết nếu nó theo nghĩa đen là cùng một objecg được đề cập đến, không chỉ là một mà trông giống nhau –