gpt4 book ai didi

java - "but the compiler doesn' t 知道这个 "- what' 的意义吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:27:18 25 4
gpt4 key购买 nike

我在java.util.ImmutableCollections类中遇到过这样的代码和注释:

static final class List0<E> extends AbstractImmutableList<E> {
...
@Override
public E get(int index) {
Objects.checkIndex(index, 0); // always throws IndexOutOfBoundsException
return null; // but the compiler doesn't know this
}
...
}

为什么不直接throw new IndexOutOfBoundsException(...)?这是什么原因?

最佳答案

也许,这只是为了避免代码重复,否则它会是这样的:

new IndexOutOfBoundsException(outOfBoundsMessage(..., ...)) 

但是 outOfBounds* 方法是私有(private)的,所以设计上应该有人调用包装器,例如 return Preconditions.checkIndex(index, length, null)

关于java - "but the compiler doesn' t 知道这个 "- what' 的意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com