Получает массив байтов от ByteBuffer в Java

Чтобы найти ближайший маяк, вы можете попробовать что-то вроде этого:

        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region){

            String closestBeacon = null;
            for (Beacon beacon : beacons) {
                if (closestBeacon == null)
                    closestBeacon = beacon;
                else {
                    if (closestBeacon.getDistance() > beacon.getDistance()) {
                        closestBeacon = beacon;
                    }
                }
            }

            Log.i(TAG, closestBeacon.getBluetoothAddress() + " beacon is the closest to you");
        }
83
задан Jonas 27 January 2012 в 02:30
поделиться

2 ответа

Зависит, что Вы хотите сделать.

Если то, что Вы хотите, должно получить байты, которые остаются (между положением и пределом), то то, что Вы имеете, будет работать. Вы могли также просто сделать:

ByteBuffer bb =..

byte[] b = new byte[bb.remaining()]
bb.get(b);

который эквивалентен согласно ByteBuffer javadocs.

99
ответ дан Jason S 24 November 2019 в 08:54
поделиться

Это - простой способ получить байт [], но часть точки использования ByteBuffer избегает необходимости создавать байт []. Возможно, можно получить то, что Вы хотели получить от байта [] непосредственно от ByteBuffer.

1
ответ дан Peter Lawrey 24 November 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: