Est-il un standard de Java Liste de mise en œuvre qui ne permet pas l'ajout d'null?

Dire que j'ai un List et je sais que je n'ai jamais souhaitez ajouter null à elle. Si je suis ajoutant null, cela signifie que je suis en train de faire une erreur. Donc à chaque fois que je serait autrement appel list.add(item) j'aurais plutôt appeler if (item == null) throw SomeException(); else list.add(item);. Est-il un List classe (peut-être dans Apache Commons ou quelque chose) qui fait cela pour moi?

Question similaire: De l'aide pour supprimer les références null dans une Liste sur Java? mais je ne veux pas supprimer tous les zéros, je veux faire en sorte qu'ils n'ont jamais ajouté en premier lieu.

  • Ne pourriez-vous sous-classe de la classe List et ajouter les fonctionnalités dont vous avez cités?
  • C'est une bien jolie sur mesure exigence; null est parfaitement acceptable de la valeur à tenir dans un conteneur (dans la plupart des cas). Ainsi, vous aurez probablement besoin de rouler votre propre emballage.
  • Je pourrais, mais je voudrais avoir à remplacer (au moins, sur le dessus de ma tête) add, addAll, en plus d'un constructeur ou deux. Il ne serait probablement pas difficile mais je soupçonne quelqu'un (Apache, Google...) a déjà fait, et a pris un subtil bug quelque part que je serait probablement manquer.
  • Ainsi, les Collections de l'API est très clair en permettant un Nullpointer exception dans le cas de la collection ne supporte pas les valeurs null. Donc clairement, l'API considère cette affaire et n'en décide autrement.
  • Je vient juste de découvrir ceci: kiwidoc.com/java/l/p/commons-collections/commons-collections/... qui n'a pas vraiment répondu à ma question d'origine, mais qui sert un but similaire.
InformationsquelleAutor MatrixFrog | 2011-06-22