This question already has answers here:
What is a raw type and why shouldn't we use it?
(15个答案)
2年前关闭。
这是我最近的项目的一个非常简单的版本,它演示了该问题:
当我编译它时,编译器会说:
注意:Class.java使用未经检查或不安全的操作。注意:重新编译
使用-Xlint:未检查详细信息。
当我拿走
什么是未经检查或不安全的操作,如何解决?
指定类型参数,例如
以前,您返回的是原始类型,而不是通用类型。
(15个答案)
2年前关闭。
这是我最近的项目的一个非常简单的版本,它演示了该问题:
import java.util.List;
import java.util.ArrayList;
class Class{
List<Character> l1 = new ArrayList<>();
List<Character> l2 = new ArrayList<>();
List getList(){
return l1;
};
void setList(){
l2.clear();
l2.addAll(getList());
};
}
class Main{
public static void main(String[]args){
Class object = new Class();
object.setList();
};
}
当我编译它时,编译器会说:
注意:Class.java使用未经检查或不安全的操作。注意:重新编译
使用-Xlint:未检查详细信息。
当我拿走
l2.addAll(getList());
时,编译器不会返回该消息,但是很显然,这使我的项目搞砸了。什么是未经检查或不安全的操作,如何解决?
最佳答案
代替
List getList(){
指定类型参数,例如
List<Character> getList(){
以前,您返回的是原始类型,而不是通用类型。
10-08 09:02