Có những lợi ích cho mỗi và tôi hiểu sự khác biệt, nhưng những gì được coi là tốt nhất / thực hành tiêu chuẩn? Và tại sao?
Ví dụ :
"myString".equals(myStringVar)
- Tránh một NPE tiềm năng và không yêu cầu kiểm tra null. (Điều tốt?)
- Sạch hơn để đọc vì không cần kiểm tra null.
- Nếu null không phải là một giá trị mong đợi, chương trình của bạn có thể bị phá vỡ mà không phải là bất kỳ khôn ngoan hơn.
Tuy nhiên
myStringVar.equals("myString")
- Yêu cầu kiểm tra null nếu null là giá trị mong đợi. (Điều tốt?)
- Có thể làm lộn xộn các điều kiện ghép với kiểm tra null.
- Cho phép NPE cho chúng tôi biết nếu có gì đó bị hỏng.
Biến thể nào được coi là tiêu chuẩn để sử dụng cho Java và tại sao?