Chers altruistes,
Il s'agit d'un problème de choix d'un type de Collection (Vector, HashMap, ...) disposant dans ses API d'une méthode (values(), toArray() ) retournant un objet de type Collection. Cet objet devant être itérable pour l'action JSTL "c:forEach".
En d'autres mots :
Dans une page JSP, grâce à l'action JSTL 'core' <c:forEach ...>, je voudrais afficher tous les éléments contenus dans l'objet Vector<CarsOfOneKind_Ent> carsByKind qui lui-même réside dans un objet beans QtyOfCarsByKind_Ent.
Dans ce dernier, je crée la fonction "getCarsPerKind()" qui sera appelée depuis "<c:forEach() items="${qtyofcarsbykind.CarsPerKind}" var...>" de la page JSP. (Dans une classe 'Control' appropriée est créée l'association entre la variable JSP "qtyofcarsbykind" et l'objet bean de classe "QtyOfCarsByKind_Ent")
Pour passer un objet itérable provenant du vecteur 'carsByKind' à l'action "<c:forEach..." qui itèrera jusqu'à la fin de la liste 'qtyofcarsbykind', j'écris ma méthode "getCarsPerKind()" comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public <CarsOfOneKind_Ent> CarsOfOneKind_Ent[] getCarsPerKind()
    { return carsByKind.toArray(CarsOfOneKind_Ent[] array);
    }
Comme j'emploie un 'Vector', je vois dans les API (http://java.sun.com/javase/6/docs/api/ java.util.Vector) que le seul type d'objet itérable pour un vecteur est une 'Array' ('Collection' n'est pas prévu). C'est pourquoi je tente de dupliquer "public <T> T[] toArray(T[] a)" sans erreur.
Hélas, le précompilateur (IDE de Netbeans) me signale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
"Unexpected type required: value found: class
'.class' expected
';' expected "
OK, il ne s'agit donc "que" d'un problème d'erreur d'écriture (compilation); pas un problème de JSP, JSTL, Netbeans, ...
Quelle est ma faute d'écriture en voulant adopter "public <T> T[] toArray(T[] a)" ?

Existerait-il quand même une fonction de la classe 'Vector' (ou parente) retournant un objet de type 'Collection' (= itérable pour "<c:forEach...")(plutôt que 'Array<>') ? Laquelle ? Comment ?
Par exemple : La classe "HashMap" dispose d'une fonction "values()" qui retourne un objet (itérable) de type "Collection". Mais changer mon code pour remplacer 'Vector' par 'HashMap' pour cette raison me semble constituer un aveu d'incapacité de programmer le plus adéquat.

J'utilise Java SE 6, Netbeans 6.1, JSTL 1.1 ...
Help ! Merci d'avance