Wir*_*s77 5 java collections int type-conversion long-integer
好的,所以我在Java中创建了一个实现java.util.Collection接口的动态2D数组.我让我的数组实现它,因为我希望它具有与普通相同的功能Collection.但是,我无法实现该size()方法,因为在接口中它返回一个整数,并且2D矩阵可能会溢出整数类型.
这是我正在尝试制作的课程片段:
public abstract class AbstractMatrix<E> implements Collection<E>{
@Override
public long size() {
return columns * rows;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,这将无法工作,因为"返回类型与Collection<E>.size()" 不兼容",如果我将类型更改为int,则列*行可能会溢出.
我知道我不能覆盖像这样的大小方法,但是有什么方法可以确保方法在仍然实现Collection接口的同时返回正确的大小?
是的,我知道这是不切实际的,可能永远不会成为一个问题,但我很想知道是否有一个很好的解决方案.