Quand utiliser le tableau byte et quand buffer byte?

Quelle est la différence entre un tableau byte et un tampon byte ?

en outre, dans quelles situations l'un devrait-il être préféré à l'autre?

[mon cas d'utilisation est une application web développée en java].

44
demandé sur Rajat Gupta 2011-03-06 16:43:48

3 réponses

il y a en fait plusieurs façons de travailler avec les octets. Et je suis d'accord que ce n'est pas toujours facile de prendre la meilleure:

  • byte[]
  • java.nio.ByteBuffer
  • java.io.ByteArrayOutputStream (en combinaison avec d'autres courants)
  • java.util.BitSet

byte[] est juste un tableau primitif, contenant juste les données brutes. Ainsi, il n'a pas de méthodes pratiques pour construire ou manipuler le contenu.

ByteBuffer est plus comme un générateur. Il est utilisé pour créer un byte[]. Contrairement aux tableaux, il a des méthodes d'aide plus commodes. (par exemple,append(byte) méthode).

Vous pourriez être tenté de dire que un ByteBufferbyte[], ce StringBuilderString. Mais il y a une différence/lacune spécifique de la ByteBuffer classe. Comme avec les tableaux,