如果我想将特定数量的引用传递给方法,我该怎么办?
e.g。
public void getArr(CP[] c,String t)
{
for(int i=0;i<c.length;i++)
{
cp[nr]=c[nr];
nr++;
}
}
我希望我的方法能够准确地获取3个对CP对象的引用数组;如何在方法中指定它?
答案 0 :(得分:1)
在java中不可能,因为数组的长度不是其类型的一部分。您可以在运行时检查它:
public void getArr(CP[] c,String t)
{
if (c.length != 3) {
throw new IllegalArgumentException("Required exactly 3 array elements");
}
for(int i=0;i<c.length;i++)
{
cp[nr]=c[nr];
nr++;
}
}
或assert
:
public void getArr(CP[] c,String t)
{
assert c.length == 3 : "Required exactly 3 array elements";
for(int i=0;i<c.length;i++)
{
cp[nr]=c[nr];
nr++;
}
}
答案 1 :(得分:0)
这在Java中是不可能的。
CP[]
是c
的类型;数组的特定大小不构成该类型的一部分。所以你不能引发编译时失败。
如果您不想依赖运行时检查,为什么不通过CP c1, CP c2, CP c3
而是在呼叫站点分解阵列?