Как присвоить значение байтовому массиву - PullRequest
4 голосов
/ 10 сентября 2011
byte abc[]="204.29.207.217";

Это дает ошибку.Пожалуйста, скажите мне исправить метод.

Ответы [ 3 ]

27 голосов
/ 10 сентября 2011

Если вы пытаетесь назначить жестко запрограммированные значения, вы можете использовать:

byte[] bytes = { (byte) 204, 29, (byte) 207, (byte) 217 };

Обратите внимание на приведение, потому что байты Java подписаны - приведение здесь, в основном, приведет к переполнению к отрицательному значению, что, вероятно, то, что вы хотите.

Если вы на самом деле пытаетесь разобрать строку, вам нужно это сделать - разбить строку на части и проанализировать каждую.

Если вы пытаетесь преобразовать строку в ее двоичное представление в определенной кодировке, вы должны использовать String.getBytes, например,

byte[] abc = "204.29.207.217".getBytes("UTF-8");

(Обратите внимание, что условно [] ставится как часть типа переменной, а не после имени переменной. Хотя последняя разрешена, она не рекомендуется как стиль.)

3 голосов
/ 10 сентября 2011

Это строковый литерал .Если вы хотите получить двоичное представление строки, используйте один из методов String.getBytes.

2 голосов
/ 10 сентября 2011

Либо используйте char [] или String.Убедитесь в том, что включены строки для String.

...