用@Deprecated注釋的程序元素,不鼓勵程序員使用這樣的元素,通常是因為它很危險或存在更好的選擇。在使用不被贊成的程序元素或在不被贊成的代碼中執行重寫時,編譯器會發出警告。
那么相應的替代方法應該怎么看?
點進畫刪除線的方法,會看到。比如:直接提供替代的方法
@deprecated replaced by <code>getEncodingForIndex(int charsetIndex)</code>
@deprecated Initialize the frame with the {@link Procframe.Initializer} that can be obtained by the {@link #initializer()}method.
如果沒有直接的替代方法,往往也會提供其他方式。比如:使用另一種實現方式來替代該方法
@deprecated refresh datasource instead
這個指的是使用更新數據庫的方式,來替代frame的refresh()方法
也可能有一些沒有替代方法的,比如:預定在下一個版本取消
@deprecated in POI 3.14, scheduled for removal in POI 3.16
其次,請注意標題,這兩個標記有大小寫之分,一個是D,一個是d。
源代碼標記@Deprecated是在JDK1.5中作為內置的annotation引入的,用於表明類(class)、方法(method)、字段(field)已經不再推薦使用,並且在以后的JDK版本中可能將其刪除,編譯器在默認情況下檢測到有此標記的時候會提示警告信息。
Java注釋中的@deprecated用於在用Javadoc工具生成文檔的時候,標注此類/接口、方法、字段已經被廢止。