Java List的简化边界检查

nal*_*tis 0 java optimization list

是否有一个简单的方法/库来检查和调整参数以保持在列表边界内?

这是一个很长的样本:

if (fromIndex < 0) {
  fromIndex = 0;
}
if (fromIndex > list.size() - 1) {
  fromIndex = list.size() - 1;
}

if (toIndex < 0) {
  toIndex = 0;
}
if (toIndex > list.size() - 1) {
  toIndex = list.size() - 1;
}

list.subList(fromIndex, toIndex);
Run Code Online (Sandbox Code Playgroud)

我知道我可以移动list.size() - 1到变量并对索引检查执行提取方法以删除冗余代码.但对于这个简单的任务,它似乎仍然有点冗长.

Zed*_*Zed 5

public int sanitize(int index) {
  return Math.max(0, Math.min(index, this.length-1));
}
Run Code Online (Sandbox Code Playgroud)