J'ai une fonction qui renvoie un vecteur et, en cas d'erreur, je souhaite retourner un vecteur vide qui peut être vérifié à l'aide de collections .Peempte par la méthode d'appel. Mais je ne peux pas trouver le moyen de le faire, car les collections fournissent des collections. Fonctions de liste, cartes, etc. mais pas pour le vecteur et je suis obligé de retourner NULL par fonction que je veux éviter. P>
Comment y parvenir? P>
3 Réponses :
Vous pouvez retourner un nouveau vecteur Vous avez ajouté que vous recevez le vecteur code> code> d'un service tiers. N'oubliez pas qu'un
ArrayList code> à la place.
vecteur code> est une liste
code>, vous pouvez donc utiliser quelque chose comme ceci: p>
Je suis dépendant du vecteur alors que je fais des appels à un service hérité qui retourne uniquement vecteur. nouveau vecteur () semble juste.
@adimoh Le fait que le service retourne b> a vecteur code> ne vous empêche pas d'utiliser
list code>. Ce serait différent, si le service exigeait un
vecteur code> est entré.
Je veux retourner un vecteur vide qui peut être vérifié en utilisant Collections.Isempty P> blockQuote>
Voulez-vous retourner un vecteur vide ou voulez-vous des collections.Impty () de retourner vrai lorsqu'il est passé un vecteur vide?
Généralement, le retour d'un vecteur vide n'indiquerait aucune erreur, mais un résultat vide - vous devez envisager de lancer une exception (cochée) sur une erreur - qui rendra le contrat entre la méthode et son appelant plus clair. Si, à une date ultérieure, vous souhaitez que la méthode puisse retourner un vecteur vide pour indiquer un résultat vide (et aucune erreur), vous pourrez sans changer tout le code d'appel. P>
Vous ne pouvez pas utiliser sa propre méthode?
retour Nouveau vecteur (); code>?
ou si vous avez un objet, retournez vector.clear ();
Est-ce que CollectionUtils.Sempête de l'aide?
Y a-t-il une raison pour laquelle vous devez retourner un
vecteur code>. Il est probablement préférable que le type de retour soit une liste code> arbitraire code> à la place. Avec ce changement,
collections.emptyliste () code> est parfait. Sinon,
nouveau vecteur () code> va bien.
CollectionUtils.Isempty (NULL) CODE> revient également vrai, de sorte que toute la façon dont cela importerait peu importe.
Ma fonction appelle un autre service qui renvoie un vecteur et enveloppant une liste autour d'un vecteur semble inutile. Nouveau vecteur () semble la bonne chose.
Javadoc pour vecteur () * construit un vecteur vide pour que son tableau de données interne * ait la taille {@code 10} et son incrément de capacité standard est * zéro.
Personne n'a dit que vous devriez envelopper le vecteur code> code>. Un
vecteur code> est i> a
list code>. Ainsi, lorsque votre code reçoit un code> code>, vous pouvez toujours le traiter comme une liste
code>, ce qui vous permet de remplacer
null code> avec
collections. videylist () code>.