Có điều gì phức tạp tôi nên biết về instanceof
? Tôi đang đi qua một danh sách các đối tượng thông qua một vài phương pháp và kiểm tra xem các đối tượng này có thực hiện một giao diện cụ thể hay không bằng cách sử dụng instanceof
. Trong một số trường hợp, instanceof
xác định chính xác các đối tượng như triển khai giao diện, trong các trường hợp khác thì không. Dường như cho tôi kết quả không phù hợp trên cùng một đối tượng ở những nơi khác nhau. Có bất kỳ thủ thuật/gotcha tôi cần phải nhận thức được ở đây?instanceof mang lại kết quả không phù hợp để phát hiện giao diện?
Trong dự đoán của ý kiến bạn có thể có:
1) Tôi biết instanceof
là hình thức xấu. Tôi đang làm việc với một hệ thống phân cấp đối tượng ít hoàn hảo hơn và không thể thay đổi được, và đây là điều tồi tệ nhất mà tôi có thể nghĩ đến.
2) Tôi đang làm việc để tạo một ví dụ mã, nhưng tôi sẽ cần phải đơn giản hóa mã của mình rất nhiều nếu tôi sẽ dán vào bất kỳ thứ gì hữu ích ở đây. Trong khi chờ đợi, nếu bạn đã thấy điều này trước đây và có thể làm sáng tỏ một chút, hãy làm.
Bất kỳ cơ hội lấy mẫu mã nào? – Rontologist
Chỉ cần đoán, nhưng nó khá có thể đơn giản hóa mã của bạn để gửi một mẫu có thể phơi bày vấn đề. instanceof là một toán tử, vì vậy nó luôn hoạt động giống nhau. –
Vâng, tôi đoán là nếu tôi đơn giản hóa mã của tôi đủ để dán vào cho tất cả các bạn hữu ích, tôi sẽ tìm lỗi và không cần phải :) – morgancodes