Java String[] 字符串数组去重,排序,toString
1. 很少用到 数组 的 toString 方法,突然用到时倒是不知道怎么写了。参考了文章发现 数组的 tostring 方法 没有重写,所以直接使用 toString 输出的是 [类型@哈希值] ,所以数组使用 toString 或是 数组转成 字符串应该写成:
Arrays.toString(a)
这种方法的toString()是带格式的,也就是说输出的是[a, b, c],如果仅仅想输出abc则需用以下两种方法:
方法1:直接在构造String时转换。
char[] data = {"a", "b", "c"}; String str = new String(data);
方法2:调用String类的方法转换。
String.valueOf(char[] ch)
参考资料:http://www.cnblogs.com/ningvsban/p/3955483.html
2. 数组去重,把字符串数组 转成 List 时,会自动在每一个元素前面加上一个空格,相同的元素有不同的空格就是不同的元素,对排序和去重的都有影响,我的代码如下:
if (MyUtils.isNotEmpty(order.getProdCodes())) { //,123,234,123,234,235,345,456,345 String[] prodCodeArr = order.getProdCodes().replace(" ", "").split(","); Arrays.sort(prodCodeArr); Set<String> prodCodeSet = new HashSet<>(); prodCodeSet.addAll(Arrays.asList(prodCodeArr)); prodCodeArr = prodCodeSet.toArray(new String[]{}); order.setProdCodes(Arrays.toString(prodCodeArr).replace("[", "").replace("]", "").replace(" ", "")); }
数组排序参考:http://www.cnblogs.com/xudong-bupt/p/3168618.html
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 数组去重 算法实现
- 下一篇: 原创经验:微信小程序开发总结