Java: байт [1] против байта [1024]

1

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

Я знаю, что это такое, он 8-бит. пример: 0000 0001 (который будет "int 1")

Когда я определю let let say:

Byte[] myByte = new byte[1];

Что делает "1"? Может ли myByte переносить только один байт?

Теги:
byte

1 ответ

2

new type[x] является синтаксисом выражения, создающего массив [object] (типа type[] 1) с x элементами.

См. Гайки и болты: Массивы

Массив - это контейнерный объект, который содержит фиксированное количество значений одного типа. Длина массива устанавливается при создании массива [object] (т.е. new byte[1]). После создания его длина фиксирована..

Итак, new byte[1] создает массив [object] для одного байта (length = 1), а new byte[1024] создает массив из 1024 байтовых элементов (длина = 1024).


1 Код в сообщении немного "смешной", потому что он использует Byte[] в качестве типа массива, но new byte[1] для создания фактического объекта массива; он должен быть byte в обоих местах. Я игнорирую это как опечатку, потому что автоматический бокс примитивного массива не поддерживается в Java.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню