1. /**
    2. * 提供将对象转换为字符串的方法
    3. *
    4. */
    5. public class StringUtil {
    6. /**
    7. * 将byte数组格式化为字符串,每个元素使用十六进制表示
    8. *
    9. * @param bs 目标数组
    10. * @return 格式化字符串
    11. */
    12. public static String of(byte[] bs) {
    13. return of(bs, true);
    14. }
    15. /**
    16. * 将byte数组格式化为字符串,每个元素可以选择是否使用十六进制表示
    17. *
    18. * @param bs 目标数组
    19. * @param useHex 是否使用十六进制表示元素
    20. * @return 格式化字符串
    21. */
    22. public static String of(byte[] bs, boolean useHex) {
    23. if (bs == null || bs.length == 0) {
    24. return "[]";
    25. }
    26. String format = useHex ? "%02X" : "%d";
    27. StringBuilder builder = new StringBuilder(String.format("["+format, bs[0]));
    28. for (int i = 1; i < bs.length; i++) {
    29. builder.append(" ,")
    30. .append(String.format(format, bs[i]));
    31. }
    32. builder.append("]");
    33. return builder.toString();
    34. }
    35. }