好的,所以我在 Java 中创建了一个实现 java.util.Collection 接口的动态二维数组。我让我的数组实现了它,因为我希望它具有与普通Collection
. 但是,我无法实现该size()
方法,因为在接口中它返回一个整数,而二维矩阵可能会溢出整数类型。
这是我正在尝试制作的课程片段:
public abstract class AbstractMatrix<E> implements Collection<E>{
@Override
public long size() {
return columns * rows;
}
}
现在,这将不起作用,因为“返回类型与Collection<E>.size()
”不兼容,如果我将类型更改为 int,列 * 行可能会溢出。
我知道我不能像这样覆盖 size 方法,但是有什么方法可以确保该方法在实现Collection
接口的同时返回正确的大小?
是的,我知道这是不切实际的,可能永远不会成为问题,但我很想知道是否有一个好的解决方案。