Java 未检查异常

标签 java unchecked-exception

谁能告诉我为什么这个方法会抛出未经检查或不安全的异常?我知道当我尝试编辑正在迭代的列表时会发生这种情况...在下面, currentAdvanceTactics 等根本没有被迭代。

    public void tacticMeetsRequirements(ArrayList<Tactics> master) {

        for (Tactics a : master) {
            if (meetsrequirements(a)) {
                if (a.movement.equals("Advance")) {
                currentAdvanceTactics.add(a);                   
                } else if (a.movement.equals("Retreat")) {
                currentRetreatTactics.add(a);   
                } else if (a.movement.equals("Guard")) {
                currentGuardTactics.add(a); 
                }
            }       
        }

    }

这是主列表中使用的对象的创建方式:

    for (int b = 0; b < numberoftactics; b++) {
         tactic[b] = new Tactics(parsedTactics[b]); 
         tacticsMaster.add(tactic[b]);
    }

parsedTactics 只是读取到不同变量中的原始数据。

战术大师声明如下:

public ArrayList<Tactics> tacticsMaster;

然后当我创建它所包含的对象时:

this.tacticsMaster = new ArrayList<Tactics>();

currentAdvanceTactics 列表等都是这样创建的:

    public ArrayList currentGuardTactics = new ArrayList<Tactics>();
    public ArrayList currentAdvanceTactics = new ArrayList<Tactics>();
    public ArrayList currentRetreatTactics = new ArrayList<Tactics>();

预先感谢您的帮助!

最佳答案

您正在使用通用类型的原始版本 ( ArrayList<T> )。这就是您收到警告的原因。

public ArrayList currentGuardTactics = new ArrayList<Tactics>();
public ArrayList currentAdvanceTactics = new ArrayList<Tactics>();
public ArrayList currentRetreatTactics = new ArrayList<Tactics>();

尝试使用参数化版本 -

public List<Tactics> currentGuardTactics = new ArrayList<Tactics>();
public List<Tactics> currentAdvanceTactics = new ArrayList<Tactics>();
public List<Tactics> currentRetreatTactics = new ArrayList<Tactics>();

关于Java 未检查异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17036269/

相关文章:

exception - 有什么简单的方法可以查看 Kotlin 函数抛出的异常?

java - 编译时异常检查。 finally block 隐式抛出未经检查的异常的情况

gradle - XMLStreamException : ParseError at [row, col] 打开新阶段时(新窗口)

java - 处理网络(URL、连接等)时要捕获哪些未经检查的异常?

java - 如何使用Java禁用selenium Webdriver上的所有断点?

WebView 中的 Java Applet

java - leetcode上字符串中反向词的一行代码序列

java - 在 Java 中垂直翻转原始图像

java - 如何配置每 15 分钟滚动一次日志文件的 log4j 文件附加程序

java - 重写 Java 中未经检查的 Exception 类的方法