Tôi có một hàm trả về giá trị int
cho một khóa nhất định (từ HashMap<String, Integer>
). Nếu khóa không tồn tại, tôi muốn trả lại thứ mà người gọi có thể kiểm tra. Có vẻ như, phổ biến nhất, đây sẽ là một "trả về -1 nếu khóa không tồn tại" loại điều. Tuy nhiên, tôi không thể dự trữ -1 cho mục đích đó trong trường hợp của tôi, bởi vì số âm là các giá trị khả thi cho các khóa mà làm tồn tại.Trả về "null" trên hàm trả về nguyên thủy?
duy nhất lựa chọn khác tôi đã có thể đưa ra như sau:
- chuyển đổi loại hình trở lại
Integer
lớp wrapper và kiểm tranull
- Return cái gì đó rất khó xảy ra, chẳng hạn như
Integer.MIN_VALUE
- Thực hiện chức năng
boolean keyExists(String key)
bổ sung cần được gọi trước tiên - Chuyển sang
float
và sử dụngNaN
thay vì
Tôi viết bài này bằng Java, nhưng những người có nguồn gốc ngôn ngữ tương tự được hoan nghênh đăng. Cảm ơn!
# 4 là thú vị . Làm thế nào để bạn kiểm tra NaN? NaN! = NaN là đúng. –
Float.isNaN (float);) IMHO float gần như không bao giờ là một ý tưởng hay. hãy thử dài hoặc gấp đôi. –