为了账号安全,请及时绑定邮箱和手机立即绑定

是什么导致javac发出“使用未检查或不安全操作”警告?

是什么导致javac发出“使用未检查或不安全操作”警告?

一只斗牛犬 2019-06-19 11:14:52
是什么导致javac发出“使用未检查或不安全操作”警告?例如:javac Foo.javaNote: Foo.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

如果您使用的集合没有类型说明符(例如,Arraylist()而不是ArrayList<String>())。这意味着编译器无法检查您是否以一种类型安全的方式使用集合,使用泛型.

要消除警告,只需具体说明您要存储在集合中的对象类型。所以,而不是

List myList = new ArrayList();

使用

List<String> myList = new ArrayList<String>();

在Java 7中,可以使用类型推理.

List<String> myList = new ArrayList<>();


查看完整回答
反对 回复 2019-06-19
?
森栏

TA贡献1810条经验 获得超5个赞

如果您按照它的建议并使用“-xlint:uncheck”开关重新编译,它将提供更详细的信息。

除了使用原始类型(如其他答案所述)外,未经检查的强制转换也可能导致警告。

使用-xlint编译之后,您应该能够重新工作代码以避免警告。这并不总是可能的,特别是当您与无法更改的遗留代码集成时。在这种情况下,您可以决定在您知道代码是正确的地方取消警告:

@SuppressWarnings("unchecked")public void myMethod(){
    //...}


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 830 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号