例如:

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

推荐答案

如果使用不带类型说明符的集合(例如,Arraylist()而不是ArrayList<String>()),Java 5及更高版本中会出现这种情况.这意味着编译器无法判断您是否以类型安全的方式使用集合,即使用generics.

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

List myList = new ArrayList();

使用

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

在Java7中,可以使用Type Inference缩短泛型实例化.

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

Java相关问答推荐

如何在Docker容器中使用wireock—Webhooks阻止请求?

Java函数式编程中的双值单值映射

只需最少的代码更改即可将版本号标记添加到日志(log)

在向WebSphere中的文档添加元素时iText挂起

Groovy/Java:匹配带引号的命令选项

为什么有两种实现来检索数组类的组件类型?

使用While循环打印素数,无法正常工作

如何在盒子的顶部和底部创建两张不同图片(大小相同)的盒子?

在Spring Boot JPA for MySQL中为我的所有类创建Bean时出错?

使用迭代器遍历HashMap不会因IF条件而停止

循环不起作用只有第一个元素重复

如何使用WebEnvironment.RANDOM_PORT获得第二个随机端口?

在权限列表中找不到我的应用程序

在单例类上获取Java锁,了解原因

如何在Struts2中使用操作类中的结果注释重定向到不同的命名空间

如何使用带有可选参数的类生成器?

如何使用Rascal Evaluator从编译的JAR访问Rascal函数?

java 11上出现DateTimeParseException,但java 8上没有

为什么Java编译器为没有参数的方法(getter方法)创建桥接方法

窗口启动后不久,从java.awt.Graphics disapear创建的矩形