Tôi vừa mới bắt đầu sử dụng chú thích @NotNull
với Java 8 và nhận được một số kết quả không mong muốn.Sử dụng Chú thích Không Chú ý trong đối số phương thức
Tôi có một phương pháp như thế này:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
Tôi đã viết một bài kiểm tra JUnit đi qua trong giá trị null cho searchingList tranh cãi. Tôi đã mong đợi một số loại lỗi xảy ra nhưng nó đã trải qua như thể chú thích không có ở đó. Đây có phải là hành vi mong đợi không? Từ những gì tôi hiểu, điều này là để cho phép bạn bỏ qua viết mã kiểm tra không có bản mẫu.
Giải thích về chính xác những gì chính xác của @NotNull được thực hiện sẽ được đánh giá cao.
'@ NotNull' chỉ là một chú thích. Chú thích không tự làm gì. Họ cần một bộ xử lý chú thích tại thời gian biên dịch, hoặc một cái gì đó xử lý nó trong thời gian chạy. –
Bạn có đang chạy mã bên trong một máy chủ ứng dụng (ví dụ sử dụng [Arquillian] (http://arquillian.org/)) không? –
@SotiriosDelimanolis - Vậy thì vấn đề là gì, chỉ là một cảnh báo cho bất kỳ ai gọi phương thức không truyền giá trị null? Trong trường hợp đó bạn vẫn cần mã xác nhận con trỏ null. – DavidR