web-dev-qa-db-ja.com

Int変数を介して空のバイト配列を表しますか?

空のバイト配列を表すには、整数型変数にどの値を割り当てる必要がありますか? Cassandraで値のない列を表すために、空のバイト配列をデータベースに保存するためにこれが必要です。

30
Rajat Gupta

Cassandra API http://wiki.Apache.org/cassandra/API によると、空のバイト配列は

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

一般的にJava用語では、空のバイト配列は長さゼロのバイト配列であり、Java expression new byte[0]。受け入れられた回答によれば、Casandra APIは標準の用語を使用しています。

できません* 整数型変数を使用してバイト配列を表します。これは、バイト配列の内容と長さの両方を単一の整数で表す賢明な方法がないためです。

*-実際には、intに小さなバイト配列(長さ3まで)の状態をエンコードできますが、エンコード/デコードは面倒です...これはOPの質問には関係ありません。

8
Stephen C

Javaでは、目的の配列の長さだけを指定することにより、新しい配列を作成できます。

new type[length]

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

これでうまくいくはずです。

3
Abhijeet