Java de la méthode add() de la convention de

Donc, je suis normalement un programmeur ruby, donc ma prise de conventions Java est fragile, au mieux. Si j'ai une classe A et souhaitez définir une méthode pour ajouter deux instances de cette classe, ce qui est la convention sur le comportement et le type de retour?

public class A
{
    //...
    public NotSureWhatTypeItShouldReturn add (A that) { /* ... */ }

Dois-Je

  • retourner un booléen indiquant la réussite et de modifier la cible, ou
  • retour une copie modifiée de la cible et de lever une exception en cas d'erreur

Ce qui correspond à la Java normal convention pour ce genre de méthode?

Votre question implique que la classe contenant la 'ajouter' est une méthode de collecte, mais ce n'est probablement pas le cas pouvez-vous préciser?
En réalité, c'est une mise en œuvre de Iterable. Le traiter comme un Collection ne semble pas faire sens (puisque je ne veux pas ajouter des membres individuels), mais je ne veux pas la capacité de combiner les deux instances dans un seul Iterable qui va se répéter sur tous les membres de chaque.
De la manière dont les OP libellé de la question, et l'extrait de code montré, je crois que nous ne traitons pas avec des collections, mais plutôt quelque chose comme BigDecimal où vous pouvez ajouter une instance à l'autre.
Je mispoke, Iterableest seulement l'une des deux situations dans lesquelles je vais utiliser cette - je vais aussi faire l'addition vectorielle pour une autre classe, par exemple,[1 2 3] + [4 -1 0] = [5 1 3].
bon appel sur concatenate. Je pense que je vais voler plus de Jon Skeet de réponse pour mon cas d'addition de vecteurs.

OriginalL'auteur rampion | 2010-06-18