Java包含很多類(如Swing),它們實現了dreaded and error proneinterface Serializable
。什麼是使一個類不可序列化的好方法?
如果你實現了,說,一個新的TableModel
通過擴展AbstractTableModel
,新車型必須是序列化的,但如果它包含不可序列並不必是因爲你不打算內部數據類型是什麼反正使用這個功能?
在這種情況下,像Sonar這樣的工具會發瘋。要麼抱怨說「類Foo
定義了非瞬時不可序列化實例字段bar
」。
所以我做的那場transient
剛剛拿到「這個領域Foo.bar
是短暫的,但不是由反序列化設置」
是否可以說「不,這個類是不可序列,和我不你是否希望它「以這樣的方式,你不會在像Sonar這樣的工具中出現任何錯誤?
不聲納支持警告爲個人類抑制?在IntelliJ中,您可以選擇爲此類檢查添加@SuppressWarning以供您參考。 –
Sonar只在您的代碼上運行FindBugs,PMD和CheckStyle並彙總結果。所以一個讓這三個安靜的解決方案對我來說很有用。 '@ SuppressWarning'按預期工作。還有一些插件允許忽略文件名,路徑或字符串模式等警告。 –
這不是什麼'短暫'的目的? – EJP