Bạn thường viết gì khi bạn đang thử nghiệm cho giá trị trả lại của indexOf?Thực hành tốt nhất để kiểm tra giá trị trả lại của indexOf
if str.indexOf("a") < 0
vs
if str.indexOf("a") == -1
Would một phương pháp được ưa thích hơn người kia?
Tôi thực sự đang đặt câu hỏi này cho bất kỳ hàm nào bằng bất kỳ ngôn ngữ nào trả về -1 do lỗi.
Tôi thường thích cách tiếp cận < 0, bởi vì nếu hàm được mở rộng để trả về -2 trên một số trường hợp khác, mã sẽ vẫn hoạt động.
Tuy nhiên, tôi nhận thấy rằng phương pháp == -1 thường được sử dụng hơn. Có một lý do tại sao?
Trong trường hợp của Java, indexOf chỉ rõ rằng nó sẽ trả về -1 nếu không tìm thấy kết quả phù hợp trong chuỗi của bạn. Do đó, việc thay đổi đó sẽ là một điểm ngắt trong API và do đó chúng tôi có thể dựa vào thực tế là nó sẽ trả về -1. Nhưng tôi cũng thích sử dụng '<0' trên' == - 1' –
'nếu (! ~ Str.indexOf (" a "))' có phần ít chi tiết hơn. –