是否有一种简单的方法/库来检查和调整参数以保持在列表边界内?简化的Java列表边界检查
这里一个长的样品:
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);
我知道我可以移动list.size() - 1
到一个变量,并做在索引检查的提取物的方法,以除去冗余码。但对于这个简单的任务,它似乎仍有点冗长。
小记:'list'或'listSize'也应该是参数 – naltatis 2009-10-06 12:31:02
@tatilans:真,在这个片段中,看起来有点像上下文静态方法。然而,布赖恩建议包装一个现有的列表是一个更好的方式来实现这一点(更灵活,更少侵入,更少的样板代码),在这种情况下,“列表”可能是最终的成员领域。 – 2009-10-06 12:42:52
好的。我将它改为this.length。如果它只是增加了更多的困惑,我会回滚:) – Zed 2009-10-06 12:57:10