web-dev-qa-db-fra.com

Vous représentez un tableau d'octets vide via une variable Int?

Quelle valeur doit être affectée à une variable de type entier pour représenter un tableau d'octets vide? J'en ai besoin pour stocker un tableau d'octets vide dans la base de données, pour représenter une colonne sans valeur dans Cassandra.

30
Rajat Gupta

Selon l'API Cassandra http://wiki.Apache.org/cassandra/API Un tableau d'octets vide est

byte[] emptyArray = new byte[0];
79
Mohamed Mansour

En général Java, un tableau d'octets vide est un tableau d'octets de longueur zéro et peut être créé avec l'expression Java expression new byte[0]. Selon la réponse acceptée, l'API Casandra utilise la terminologie standard.

Vous ne pouvez pas* représenter un tableau d'octets à l'aide d'une variable de type entier, car il n'existe aucun moyen sensé de représenter à la fois le contenu et la longueur du tableau d'octets dans un seul entier.

* - En fait, vous pourriez encoder l'état d'un petit tableau d'octets (jusqu'à la longueur 3) dans un int, mais l'encodage/décodage serait compliqué ... et cela n'est pas pertinent pour la question de l'OP.

8
Stephen C

En Java, vous pouvez créer un nouveau tableau en fournissant uniquement la longueur du tableau souhaité

new type[length]

private byte[] getByteResponse() {
    return new byte[0];
}

Cela devrait faire l'affaire.

3
Abhijeet