好的,所以我正在使用Java制作一个动态2D数组,它实现了java.util.Collection接口。我让我的数组实现它是因为我希望它具有与普通 Collection 相同的功能。但是,我无法实现 size() 方法,因为在接口中它返回整数类型,而2D矩阵可能会导致整数类型溢出。
下面是我正在制作的类的一部分代码:
现在这种方法行不通,因为“返回类型与
我知道我不能像这样覆盖size方法,但是否有任何方法可以确保该方法返回正确的大小,同时仍实现
是的,我知道这是不切实际的,并且很可能永远不会成为问题,但我很想知道是否有一个好的解决方案。
下面是我正在制作的类的一部分代码:
public abstract class AbstractMatrix<E> implements Collection<E>{
@Override
public long size() {
return columns * rows;
}
}
现在这种方法行不通,因为“返回类型与
Collection<E>.size()
不兼容”,如果我将类型更改为int,则可能会溢出columns * rows。我知道我不能像这样覆盖size方法,但是否有任何方法可以确保该方法返回正确的大小,同时仍实现
Collection
接口?是的,我知道这是不切实际的,并且很可能永远不会成为问题,但我很想知道是否有一个好的解决方案。
size
是columns*rows
的矩阵,你可以用它来做什么?它会让你能够做些什么? - ewan.chalmers