2009-10-01 10 views
-5

Veuillez m'expliquer ce code. Je ne comprends pas pourquoi le vecteur supplémentaire TempC est nécessaire:Quel est le but de l'instance temporaire Vector dans ce code?

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

Est-ce devoirs? – KLE

+1

Non, sauf si vous nous dites ce que R est et ce qu'il fait. –

+1

Il est vraiment difficile de répondre car nous ne savons pas ce que R est, ce que la méthode funcVector est censée renvoyer, et ce que l'ensemble du code est censé faire. Veuillez fournir plus d'informations contextuelles. – Jesper

Répondre

2

Première question - avez-vous écrit ce code ou pouvez-vous blâmer quelqu'un d'autre? C'est incorrect et assez obscur. Java a au moins quelques conventions de nommage ...

Dans ce code - ou du moins dans la version corrigée - vous stockez des vecteurs dans des vecteurs. Vous prenez un vecteur de B, l'assignez à une variable locale, ajoutez le premier élément de ce vecteur au vecteur A et le vecteur entier A à D.

Vous n'avez pas besoin de 'TempC', mais cela ajoute au moins un minimum de clarté au code;)

Vous pourriez faire un aswell

D.addElement(((Vector) B.getElementAt(i)).elementAt(1)); 

.

Modifier

est ici le code de-obscurcie - au moins ce que je comprends;):

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); 
    } 
    } 
} 
Questions connexes