2015-11-24 2 views
0

Я хотел бы реализовать следующую функцию, не используя Guava Bytes и Longs.заменить Guava's Bytes and Longs

Знаете ли вы какое-либо решение в «простой» Java [8], без зависимостей?

import com.google.common.primitives.Bytes; 
import com.google.common.primitives.Longs; 

public static byte[] toBytesFromString(String uuid) { 
    UUID id = UUID.fromString(uuid); 
    final Long msb = id.getMostSignificantBits(); 
    final Long lsb = id.getLeastSignificantBits(); 
    return Bytes.concat(Longs.toByteArray(msb), Longs.toByteArray(lsb)); 
} 

Спасибо, Костина

+0

Вы можете скопировать код из гуавы в свой собственный метод (предполагается, что ваш проект является Apache 2 совместимый). Код здесь для «Longs :: toByteArray», например: http://docs.guava-libraries.googlecode.com/git/javadoc/src-html/com/google/common/primitives/Longs.html#line.265 – assylias

ответ

1
public static byte[] toBytesFromString(String uuid) { 
    UUID id = UUID.fromString(uuid); 
    final Long msb = id.getMostSignificantBits(); 
    final Long lsb = id.getLeastSignificantBits(); 

    return ByteBuffer.allocate(2 * Long.BYTES).putLong(msb).putLong(lsb).array(); 

    }