请向我解释此代码;我不明白为什么需要额外的向量TempC
:
Vector A = new Vector();
Vector B = R.funcVector("TemporaryVector");
if(B!=null)
{
for(int i=0;i<B.size();i++)
{
Vector TempC = new Vector();
Vector D = new Vector();
TempC = (Vector)B.elementAt(i);
if(...)
{
D.addElement(TempC.elementAt(1);
// ...
A.addElement(D);
}
}
}
答案 0 :(得分:2)
首先提出一个问题 - 您是否编写了此代码,还是可以责怪其他人?这是不正确的,非常混淆。 Java至少有一些命名约定......
在此代码中 - 或者至少在更正后的版本中 - 您将向量存储在向量中。从B获取Vector,将其指定给局部变量,将此向量中的第一个元素添加到矢量A,将整个矢量A添加到D.
您不需要'TempC',但它至少增加了代码的清晰度;)
你可以做一个
D.addElement(((Vector) B.getElementAt(i)).elementAt(1));
以及。
修改强>
这是去混淆的代码 - 至少我是如何理解的;):
Vector<Vector<Object>> a = new Vector<Vector<Object>>();
Vector<Vector<Object>> b = createVector(r, "TemporaryVector");
if (b != null) {
for(Vector<Object> tempC: b) {
Vector d = new Vector<Object>();
if(isOk()) {
d.addElement(TempC.elementAt(1));
// more calculations
a.addElement(d);
}
}
}