Java chứa nhiều lớp (như trong Swing), thực hiện dreaded and error proneinterface Serializable
.Cách tốt nhất để tạo lớp không thể thực hiện được là gì?
Nếu bạn triển khai, hãy TableModel
mới bằng cách mở rộng AbstractTableModel
, mô hình mới phải có thể tuần tự hóa được, nhưng nếu nó chứa các kiểu dữ liệu nội bộ không thể tuần tự hóa được và không cần phải kể từ khi bạn không lên kế hoạch để sử dụng tính năng này?
Trong trường hợp này, các công cụ như Sonar phát điên. Một trong hai khiếu nại rằng "Class Foo
xác định trường hợp không phải là trường hợp không thể tuần tự hóa bar
".
Vì vậy, tôi chắc rằng lĩnh vực transient
chỉ để có được "Trường Foo.bar
là thoáng qua nhưng không được thiết lập bởi deserialization"
Có thể nói "Không, lớp này là không serializable, và tôi don' Tôi muốn nó là "theo cách mà bạn không nhận được bất kỳ lỗi nào trong các công cụ như Sonar?
Liệu Sonar hỗ trợ ức chế của một cảnh báo cho một lớp học cá nhân? Trong IntelliJ nó cung cấp cho bạn tùy chọn để thêm @SuppressWarning vào lớp cho bạn để kiểm tra này. –
Sonar chỉ chạy FindBugs, PMD và CheckStyle trên mã của bạn và tổng hợp kết quả. Vì vậy, một giải pháp mà giữ những ba yên tĩnh sẽ làm việc cho tôi. '@ SuppressWarning' hoạt động như mong đợi. Ngoài ra còn có các plugin cho phép bỏ qua các cảnh báo bằng những thứ như tên tệp, đường dẫn hoặc mẫu Chuỗi. –
Đó không phải là những gì 'thoáng qua' dành cho? – EJP