如果我有这样的方法:
public Object getObject(int i) {
if (i >= 0 && i < objectList.size()) {
return objectList.get(i);
} else {
return
}
}
这是处理数组索引超出范围错误的最好方法,我应该在else语句null中返回什么?
最佳答案
这个问题没有绝对的答案,它取决于很多事情。但是,如果null
不是合法值,我将返回null
,如果它是合法值,我将throw
视为异常。
/**
* ...
* @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);
} else {
return null;
}
}
或者
null
是否合法:public Object getObject(int i) throw IndexOutOfBoundsException {
if (i >= 0 && i < objectList.size()) {
return objectList.get(i);
} else {
throw new IndexOutOfBoundsException();
}
}