編譯java程序時,我們得到了「使用-Xlint重新編譯:未檢查細節」。 爲什麼我們得到這個錯誤?使用-Xlint重新編譯:未選中詳情
回答
可能因爲您沒有正確使用泛型。也許你在將遺留代碼與通用代碼混合在一起。
這裏有一個報價來回the official trail on type erasure:
Note: WarningDemo.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.這可以使用在原始類型的操作的較舊的API時,出現如圖下面WarningDemo程序:
public class WarningDemo { public static void main(String[] args) { Box<Integer> bi; bi = createBox(); } static Box createBox() { return new Box(); } }
我建議你按照建議,編譯時加上-Xlint:unchecked
選項。這應該揭示代碼中哪些部分存在問題。
我沒有在我的類中使用泛型,我使用集合編寫了簡單的java類。 –
「*我在課堂上不使用泛型*」 - 這可能是確切的問題。你在使用任何'List','Set'或其他'Collection'嗎?在這種情況下,你不應該使用*原始類型*。 – aioobe
我將發送代碼plz檢查..... –
此選項啓用/禁用特定警告。看起來你的代碼會產生這些警告。如果您使用的是IDE,請注意其產生的警告。這可能非常有幫助。
並嘗試做什麼編譯器爲您提供:只需重新編譯這個選項,看看會發生什麼。
+1 - 做那個男人說的話(和編譯器) –
也許,那是因爲你需要聲明一個List對象,說(EG),不省略「<」和「>」:
List<Integer> list = new ArrayList<Integer>();
我想聲明的堆棧對象,而在NetBeans中, NetBeans編譯我的代碼時沒有錯誤消息。也許,javac編譯器的情況有所不同。
無論何時編譯包含java.util.*;
包的Java文件,都必須使用-xlint
重新編譯它。
此外,請檢查您的jdk版本(使用java -version
)。我相信它一定很老。安裝Java的新版本(如版本7),您將不會收到警告。
這可能是由jdk版本不匹配造成的,不一定是舊的jdk版本,但除預期之外的任何版本都可能導致此問題。
- 1. 重新編譯-Xlint
- 2. 注意:某些輸入文件使用或覆蓋棄用的API。注:-Xlint重新編譯:詳情
- 3. 數組隊列 - 使用-xlint重新編譯:未檢查/不安全的操作
- 4. 如何避免「用-Xlint重新編譯:選中」在這個例子中
- 5. 如何使用-Xlint進行編譯:在Maven項目中未選中?
- 6. 編譯時出錯:threadsmethods.java使用或覆蓋棄用的API。使用xlint重新編譯
- 7. -Xlint重新編譯。爲什麼默認不開啓?
- 8. 重新編譯Xlint上的BlueJ的警告細節
- 9. Netbeans未重新編譯
- 10. java使用未檢查或不安全的操作與xlint錯誤重新編譯?
- 11. 從javac -Xlint得到警告:未選中
- 12. 重新編譯未更新的文件
- 13. 在選中和未選中的情況下編譯
- 14. 如何用選項重新編譯netcat?
- 15. 用+ python重新編譯vim
- 16. 用-fPIC重新編譯
- 17. 避免使用註釋重新編譯
- 18. GroovyClassLoader使用方法重新編譯removeClassCacheEntry
- 19. 使用Google Fit API重新編譯APK
- 20. 選擇EJB無需重新編譯
- 21. 重新編譯jodatime?
- 22. 重新編譯Nginx
- 23. 重新編譯TJWS
- 24. 重新編譯PHP
- 25. 在不用Java重新編譯的情況下添加實現?
- 26. 如何在不重新編譯FLA的情況下更新SWF
- 27. 使用Xlint:棄用了Android
- 28. Java:「使用未經檢查或不安全的操作。使用...重新編譯」
- 29. 重新編譯-Xlint:棄用,因爲我需要知道如何解決這些錯誤的筆記細節
- 30. 如何將多個參數傳遞給Xlint java編譯器選項
請複製完整的堆棧跟蹤。 – Jacob
你有沒有試過做它的建議? –