### Question:
BytesUtil { public static byte[] writeUtf8(final String in) { if (in == null) { return null; } if (UnsafeUtil.hasUnsafe()) { final int len = UnsafeUtf8Util.encodedLength(in); final byte[] outBytes = new byte[len]; UnsafeUtf8Util.encodeUtf8(in, outBytes, 0, len); return outBytes; } else { return in.getBytes(StandardCharsets.UTF_8); } } private  BytesUtil(); static byte[] nullToEmpty(final byte[] bytes); static boolean isEmpty(final byte[] bytes); static byte[] writeUtf8(final String in); static String readUtf8(final byte[] in); static byte[] nextBytes(final byte[] bytes); static ByteArrayComparator getDefaultByteArrayComparator(); static int compare(final byte[] a, final byte[] b); static byte[] max(final byte[] a, final byte[] b); static byte[] min(final byte[] a, final byte[] b); static String toHex(final byte[] bytes); static byte[] hexStringToByteArray(final String s); static final byte[] EMPTY_BYTES; }### Answer:
@Test public void testWriteUtf8() { Assert.assertNull(BytesUtil.writeUtf8(null)); Assert.assertArrayEquals(new byte[] { 102, 111, 111 }, BytesUtil.writeUtf8("foo")); }
@Test public void toUtf8BytesTest() { for (int i = 0; i < 100000; i++) { String in = UUID.randomUUID().toString(); assertArrayEquals(Utils.getBytes(in), BytesUtil.writeUtf8(in)); } }