byte[] buf = {}; // この記法は変数宣言時しか使えない.通常の文として書くと{}がブロックと認識されて構文エラーになる. byte[] buf = new byte[0]; // これはもちろんOK buf = {}; // NG buf = new byte[0]; // 変数宣言時以外ではこう書く必要がある buf = new byte[]{}; // あるいはこう if (buf.length == 0) { // 空かどうかの判定はコレ.Array型なので. // ... }