gpt4 book ai didi

java - 使用 -Xlint 进行编译,获得对 add(E) 的未经检查的调用

转载 作者:行者123 更新时间:2023-12-01 16:35:22 25 4
gpt4 key购买 nike

编辑:这只是代码的一小段,如果您有任何问题,我可以发布更多内容。

尝试使用队列在 Java 中编写进程调度算法,但遇到了此警告。谁能帮我解决这个警告?

prog2.java:115: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Collection
notSubmitted.add(p[r]);

这是我遇到问题的代码。我想我需要使用泛型,但我以前没有使用过它们。

static Queue notSubmitted = new LinkedList();
...
for(int j = 0; j < numProcesses; ++j)
{
pid = i.nextInt();
priority = i.nextInt();
submissionTime = i.nextInt();
totalCpuTime = i.nextInt();
computeTime = i.nextInt();
ioTime = i.nextInt();
p[j] = new Process(pid, priority, submissionTime, totalCpuTime, computeTime, ioTime);
}
for(int r = 0; r < numProcesses; ++r)
{
//populate the not submitted queue first
notSubmitted.add(p[r]);
}

最佳答案

要消除警告,您可以在队列声明中使用泛型,如下所示(Java 5 和 6):

static Queue<Process> notSubmitted = new LinkedList<Process>();

或者如果您使用 Java 7+:

static Queue<Process> notSubmitted = new LinkedList<>();

这告诉编译器您只计划将 Process 对象添加到该列表中。

关于java - 使用 -Xlint 进行编译,获得对 add(E) 的未经检查的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com