java Arraylist编译器让我很困惑
出于某种原因,当我编译这段简单的代码时,会弹出一个错误。(如果我有10个代表,我会发布它)它基本上说(文件目录)使用未经检查或不安全的操作。使用-Xlint重新编译:未选中以获取详细信息。我做了一点实验,如果我去掉Bin.add()
,错误就会消失。有人能解释一下我该怎么做吗
import java.util.ArrayList;
public class Summoned_Bin
{
ArrayList Bin = new ArrayList();
Summoned_Bin()
{
}
void addToBin()
{
Summon summoned = new Summon();
int index = 0;
while (Bin.get(index) != null)
{
index++;
}
Bin.add(index , summoned ); //Without this it runs fine
}
}
# 1 楼答案
这不是错误,只是警告
要执行显式类型定义:
# 2 楼答案
我想它希望您键入列表
List<Summon> Bin = new ArrayList<Summon>();
有三件事需要注意:
将类型声明为
List<Summon>
而不是ArrayList<Summon>
这是使用接口的最佳实践,这将允许您在以后更改类型Summoned_Bin
类应该遵循Java命名标准,因此SummonedBin
应该是名称另外
SummonedBin
对象的名称应该遵循Java命名标准,使用bin
而不是Bin
修订课程