Re: [問題] compile後出現的note
==站內信件==
※ 引述《tinkywinky ()》之銘言:
: compile code之後出現
: Note: smain.java uses or overrides a deprecated API.
: Note: Recompile with -Xlint:deprecation for details.
: 請問這是什麼一回事呀
: 因為其他code也出現一樣的東西@@
: 謝謝大家
翻譯請看板大的文章 Orz
我這裡只講為什麼有這種東西...
原因不外乎是你在你的 java program 中使用了某些已經 deprecated 的
method,於是會出現這種訊息。
因為每一版新的 java API 都會對舊版本進行一些修改,有時候為了提高
整體的效能,於是將舊版本的某些 method 重新編寫,而重寫過程之中,
新舊兩個 method 可能會出現某些相異,令到開發小組必須重新定義該
method。
為了在舊 API 環境中開發的程式仍能在新系統上順利運行,便會把這些
本該棄掉的 method 保留,而在 compiler 中告訴用家那是已經廢棄不用
的 method 了。於是舊有的程式不需全部重新編寫,只要在開發新版本時
順便把 deprecated 的 method 改成新的就行了。
利用 -Xlint:deprecation 參數來重新編譯的話,compiler 會列出哪些
method 是已經 deprecated 的,於是開發者便可以把舊 method 重寫了。
至於要用哪一個新的 method 去 replace deprecated method,請參閱
相關的 API :P
不過在重寫時也要注意程式在什麼的系統下跑。因為有些比較「穩健」的
系統(難聽點就是「守舊」啦),還是堅持在跑 JDK1.2.1 (不需訝異,我
工作的地方,那班古董級的老闆堅持 JDK1.2.1 比較穩)。所以要是你把
東西都改成 1.4 甚或以上的標準,就可能變成不能在實際環境中跑嘍。
當然,如果只是自己寫寫玩玩的,那還是用最 update 的吧。
--
勁過呂布的勁過相薄...
http://www.wretch.cc/album/superlubu
亂七八糟的,不好意思 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.103.134.181
※ 編輯: superlubu 來自: 218.103.134.181 (07/05 00:12)
※ 編輯: superlubu 來自: 218.103.134.181 (07/05 00:13)
討論串 (同標題文章)