java - 当请求的索引越界时返回什么

标签 java arraylist return-value indexoutofboundsexception

如果我有这样的方法:

public Object getObject(int i) {
    if (i >= 0 && i < objectList.size()) {
        return objectList.get(i);
    } else {
        return 
    }
}

这是处理数组索引越界错误的最佳方法吗?我应该在 else 语句中返回什么,null?

最佳答案

这个问题没有绝对的答案,这取决于很多因素。但是,如果 null 不是合法值,我将返回 null,如果它是合法值,我将抛出异常。

/**
 * ...
 * @return The element at index i, null if out of bounds. 
 */
public Object getObject(int i) {
    if (i >= 0 && i < objectList.size()) {
        return objectList.get(i);
    }
    return null;
}

或者如果 null 是合法值:

public Object getObject(int i) throw IndexOutOfBoundsException {
    if (i >= 0 && i < objectList.size()) {
        return objectList.get(i);
    }
    throw new IndexOutOfBoundsException();
}

关于java - 当请求的索引越界时返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877227/

相关文章:

java - 如何在容器 fragment View 内创建具有全屏和纵向功能的 YouTube View

java - 如何自动增加字符串/整数以提高效率?

java - 如何允许根上下文中的 servlet 过滤器在其他上下文中工作?

java - 检测给定文件是否为图像并且是否为 java 中特定类型的有效图像

Java 空输出文件

java - Gson 从 Json 转换为带日期的数组列表

java - 在 Android 中,为什么 ArrayList.contains(obj) 总是返回 false?

c#在递归方法中返回值

javascript - 如何从同一个类中获取每个值 onclick JAVASCRIPT

objective-c - ObjC 错误抛出函数返回 () 而不是 BOOL