编译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
你有没有试过做它的建议? –