Tôi là một fan hâm mộ lớn của tự động đấm bốc trong Java vì nó tiết kiệm rất nhiều mã tấm nồi hơi xấu xí. Tuy nhiên tôi đã tìm thấy tự động unboxing được gây nhầm lẫn trong một số trường hợp đối tượng Number có thể là null. Có cách nào để phát hiện nơi tự động unboxing đang xảy ra trong một codebase với một cảnh báo javac? Bất kỳ giải pháp nào khác để phát hiện sự xuất hiện của unboxing chỉ (chẳng hạn như FindBugs hoặc cảnh báo trình biên dịch cụ thể của Eclipse) sẽ được đánh giá cao vì tôi không thể tìm thấy bất kỳ.Java tự động unboxing - là có một cảnh báo trình biên dịch?
Để làm rõ tôi không muốn bất kỳ cảnh báo nào được tạo trên boxing - chỉ unboxing.
Đây là một ví dụ đơn giản của một số mã có thể gây nhầm lẫn NullPointerExceptions:
class Test {
private Integer value;
public int getValue() {
return value;
}
}
Cảm ơn - Tôi nghĩ tôi sẽ làm như vậy. Ngay cả khi nó không nắm bắt được vấn đề nó sẽ làm cho gỡ lỗi vấn đề dễ dàng hơn. –
Có sự cố khi tách quyền anh khỏi cảnh báo unboxing: https://bugs.eclipse.org/bugs/show_bug.cgi?id=163065 – Kyle