Hãy tưởng tượng tôi có một lớp học Gia đình. Nó chứa một danh sách người. Mỗi (lớp) Người có một (lớp) Địa chỉ. Mỗi (lớp) Địa chỉ chứa một Mã Bưu chính (lớp). Bất kỳ lớp "trung gian" nào đều có thể là null.Java: tránh kiểm tra null trong các lớp lồng nhau (Kiểm tra sâu Null)
Vì vậy, có cách nào đơn giản để đến Mã Bưu điện mà không phải kiểm tra null trong mỗi bước không? tức là, có cách nào để tránh mã chuỗi nối tiếp sau không? Tôi biết không có giải pháp Java "bản xứ", nhưng hy vọng nếu có ai biết thư viện hay gì đó. (đã chọn Commons & Ổi và không thấy gì cả)
if(family != null) {
if(family.getPeople() != null) {
if(family.people.get(0) != null) {
if(people.get(0).getAddress() != null) {
if(people.get(0).getAddress().getPostalCode() != null) {
//FINALLY MADE IT TO DO SOMETHING!!!
}
}
}
}
}
Không, không thể thay đổi cấu trúc. Đó là từ một dịch vụ mà tôi không có quyền kiểm soát.
Không, tôi không thể sử dụng Groovy và toán tử "Elvis" tiện dụng của nó.
Không, tôi không muốn chờ đợi cho Java 8: D
Tôi không thể tin rằng tôi là người dev đầu tiên bao giờ bị ốm 'n mệt mỏi viết code như thế này, nhưng tôi thiên đường' t có thể tìm ra một giải pháp.
Ý tưởng?
Cảm ơn
-
llappall
Xin lỗi, bạn đang bị kẹt. Một số người sử dụng toán tử điều kiện trinary để làm cho nó ít dày đặc hơn một chút, nhưng nó vẫn là cùng một bytecode, khó đọc hơn. –
"* Tôi không thể tin rằng tôi là người đầu tiên bị bệnh" mệt mỏi vì viết mã như thế này * "Vâng, bạn không biết. – user1329572
Chắc chắn. Nhưng tôi không tin rằng bạn có thể đánh bại mã! Lấy làm tiếc! –