0

Преобразование строки в массив символов в Java

10

Я застрял с этой проблемой и нуждаюсь в свежем взгляде, не могу понять, почему этот код работает именно так.

String string = new String(new char[] {(char) 0x01, (char) 0x02, ..., (char) 0xFC});

Вывод соответствует всему, что должно быть, до последнего числа (0xFC), которое возвращает -4. Я понимаю, что это шестнадцатеричное значение, но если я делаю то же самое с 252 в десятичной системе, это также дает мне отрицательное значение. Надеюсь, что это просто простое решение, и я его не вижу.

Заранее спасибо.

1 ответ(ов)

1

Конвертация строки в массив символов осуществляется довольно просто:

String str = "someString"; 
char[] charArray = str.toCharArray();

Можешь немного подробнее объяснить, что именно ты пытаешься сделать?

* Обновление *

Если я правильно понимаю твой новый комментарий, ты можешь использовать массив байтов. Вот пример:

byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array();

for (byte b : bytes) {
   System.out.format("0x%x ", b);
}

В результате получится следующий вывод:

0x65 0x10 0xf3 0x29
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь