123 votes

comment comparer le tableau Java Byte[] ?

<pre><code></code><p>Je ne sais pas pourquoi tous impriment faux.</p><p>Lorsque j’exécute « java ByteArray », la réponse est « false false false false ».</p><p>Je pense que le a[] est égal à b[] mais la JVM me dit que je me trompe, pourquoi</p></pre>

240voto

Lukasz Baran Points 3821

À utiliser `` si vous souhaitez comparer le contenu réel des tableaux qui contiennent des valeurs de types primitifs (comme byte).

À utiliser `` pour comparer les tableaux qui contiennent des objets.

9voto

soulcheck Points 17680

Parce qu’ils ne sont pas égaux, c’est-à-dire: ce sont des tableaux différents avec des éléments égaux à l’intérieur.

Essayez d’utiliser ou .

6voto

Peter Lawrey Points 229686

Comme byte[] est mutable, il est traité comme étant uniquement `` s’il s’agit du même objet.

Si vous souhaitez comparer le contenu que vous devez utiliser ``

BTW: Ce n’est pas la façon dont je le concevrais. ;)

1voto

Dan Vinton Points 11975

avez-vous regardé `` ?

Edit: si, selon votre commentaire, le problème est d’utiliser un tableau d’octets comme clé HashMap, alors voir cette question.

1voto

Si vous essayez d’utiliser le tableau comme clé HashMap générique, cela ne fonctionnera pas. Envisagez de créer un objet wrapper personnalisé qui contient le tableau et dont la méthode et renvoie les résultats des méthodes java.util.Arrays. par exemple...

Les objets de cette classe wrapper fonctionneront correctement comme clé pour votre et permettront une `` utilisation propre de et des ```` méthodes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X