牛骨文教育服务平台(让学习变的简单)
博文笔记

Java String[] 字符串数组去重,排序,toString

创建时间:2016-04-13 投稿人: 浏览次数:4862

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://simplehumn.iteye.com/blog/812064

数组排序参考:http://www.cnblogs.com/xudong-bupt/p/3168618.html

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。