java - try/catch 中必需的 AssignmentOperators

标签 java arrays try-catch assignment-operator

我在一个 Java 项目中有一个类,它包含一个二维值数组,并提供了与之交互的有用方法。它使用 Location 对象(仅存储两个值)访问映射中的点并返回值。它有一个方法 isValid(),用于检查 Location 对象是否在网格的映射范围内。

public boolean isValid(Location loc) {
    try {
        // will throw an ArrayIndexOutOfBoundsException if not valid
        // occs is the 2D array within the class
        occs[loc.getX()][loc.getY()];
        return true;
    }
    catch (ArrayIndexOutOfBoundsException e) {
        return false;
    }
}

现在,我知道我可以只使用比较来检查值并查看该位置是否适合网格,但这速度更快,因为它不需要运行比较并且检查无效位置的情况远在少数民族。 但是,这是我的问题:由于访问数组的行返回的值没有被赋值或发送到方法中,所以我收到有关 AssignmentOperators 的错误。我知道将它分配给一个临时值或通过一些无用的方法运行它会是一个简单的解决方案,但对我来说这两种方法似乎都是笨拙的创可贴解决方案,我想知道是否有更简洁的方法来做到这一点。 (此外,前者会引发 Eclipse 的警告。)

无论如何,这是低优先级的,但老实说,在如此简单的实现中不可能实现如此简单的事情,这让我很烦恼。谢谢!

最佳答案

this is faster as it does not need to run comparisons.

当然需要“运行比较”。它怎么可能工作?你在这一点上的推理是错误的。因此,您的问题无效。

关于java - try/catch 中必需的 AssignmentOperators,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16202076/

相关文章:

java - 为文档添加权重 Lucene 8

java - Arquillian 中的多个容器错误

javascript - 将具有相同键、值的 JS 对象合并到数组中

java - 用 try catch 做 while 无限

javascript - 如何在 AJAX 中抛出错误消息?

java - 空主题行给出空指针异常

java - Java Swing 中 GIF ImageIcon 不断闪烁

c++ - 如何找到数组的长度?

java 检查一个数字的平方中的数字是否不在其立方中

java - java编译器是否优化了无法访问的异​​常捕获分支?