当前位置: 首页 > 面试题库 >

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

连文栋
2023-03-14
问题内容

例如:

javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

问题答案:

如果你使用的是不带类型说明符的集合(例如,Arraylist()而不是ArrayList<String>()),则在Java 5及更高版本中会出现这种情况。这意味着编译器无法使用泛型以类型安全的方式检查你是否正在使用集合。

要消除警告,只需具体说明你要在集合中存储的对象类型。所以,代替

List myList = new ArrayList();

采用

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

在Java 7中,你可以使用Type Inference缩短通用实例化。

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


 类似资料:
  • 其中T是类型变量: java:93:警告:[rawtypes]发现原始类型:可比较的私有类Customer extends JPanel实现可比较{^ 泛型类可比性缺少类型参数,其中T是类型变量: 6个警告

  • 问题内容: 我被分配去做一个程序,该程序获取0-25之间的100个随机整数并将它们存储在数组中。然后,我必须调用2种方法来将偶数和几率分开(非常典型)。所以我尝试了ArrayList东西(我认为是学到的),在我遇到这个问题之前,它似乎还不错(我正在关注教程和在线内容): Unit8.java使用未经检查或不安全的操作 我的代码是这样的: } 与存在的具体的错误: 和 请帮我解决这个问题,我已尽力使

  • 问题内容: 我正在完成学校的实验任务,并且在编译时出现此错误。该程序运行良好,有点想修复导致错误的原因。程序代码和完整的错误如下。一如既往的感谢! 错误:注意:F:\ Java \ Lab 8 \ Lab8.java使用未经检查或不安全的操作。注意:使用-Xlint:unchecked重新编译以获取详细信息。 码: 问题答案: 这意味着Java编译器已经注意到您的代码存在一些潜在的不安全问题,并警

  • 问题内容: 大家都警告Java DateFormat不能保证线程安全,并且我从理论上理解这个概念。 但是我无法想象由此导致的实际问题。说,我在一个类中有一个DateFormat字段,并且在多线程环境中该类的不同方法(格式化日期)中使用了相同的字段。 这会导致: any exception like format exception discrepancy in data any other iss

  • 我大致了解什么是类型擦除以及为什么我们会遇到未经检查的警告。但是,我不明白为什么在以下情况下只发出一个未经检查的警告: 不幸的是,两个接听电话都与大小写子句匹配。编译器确实为第一个子句发出了警告: 警告:未检查类型模式列表[Double]中的非可变类型参数Double,因为它已被擦除消除。 我知道TypeTag[T]可以用来实现更好的类型安全。但是我在这里关心的是为什么没有针对第二个case子句发

  • 我试图建立一个简单的CRM spring应用程序与安全层。 我的用例很简单:登录页面,它允许访问客户列表,并从中添加新用户。 我已经为客户管理创建了一个客户端配置类和一个安全配置类。安全配置文件定义了自己的数据源、事务管理器和会话工厂,以访问管理用户的专用数据库: 问题是使用事务性注释。首先,我通过控制器: 然后jsp: 有关信息,完整的项目在这里:https://github.com/mouty