Tôi đã tự hỏi một thời gian liệu có được phép trong phương pháp hay nhất để từ chối sử dụng containsKey()
phương pháp trên java.util.Map
và thay vào đó thực hiện kiểm tra vô hiệu đối với kết quả từ get()
.
Cơ sở lý luận của tôi là có vẻ thừa nếu thực hiện tra cứu giá trị hai lần - đầu tiên cho giá trị containsKey()
và sau đó một lần nữa cho get()
.
Mặt khác, có thể là hầu hết các triển khai tiêu chuẩn của Map
bộ đệm trong lần tra cứu cuối cùng hoặc trình biên dịch có thể loại bỏ phần dư thừa và để có thể đọc được mã, tốt hơn là duy trì containsKey()
phần đó.
Tôi sẽ đánh giá cao ý kiến của bạn.
null
, bạn có muốn xử lý điều đó khác với khóa / giá trị chưa được đặt không? Nếu bạn không cần phải đặc biệt để đối xử với nó một cách khác, bạn chỉ có thể sử dụngget()