一个把List<String>转化为以","隔开的字符串的方法
2016-05-11 20:50
567 查看
import java.util.ArrayList; import java.util.List; /** * 集合操作 * @author intrl * @date 2010-12-15 * @version 1.0 */ public class Test { public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); System.out.println(listToString(list));//aaa,bbb,ccc } public static String listToString(List<String> stringList){ if (stringList==null) { return null; } StringBuilder result=new StringBuilder(); boolean flag=false; for (String string : stringList) { if (flag) { result.append(","); }else { flag=true; } result.append(string); } return result.toString(); } }
方法二:
这代码太垃圾了 为什么不 int length = arr.length ; StringBuffer buf = new StringBuffer(""); if(length > 0){ buf.append(arr[0]); } for(int i = 1 ; i < length ; i++){ buf.append(','); buf.append(arr[i]); }
方法三:
apache common包下的StringUtils的join方法:
StringUtils.join(list, ",");
以下其源码:
public static String join(Iterator iterator, String separator) { // handle null, zero and one elements before building a buffer if (iterator == null) { return null; } if (!iterator.hasNext()) { return EMPTY; } Object first = iterator.next(); if (!iterator.hasNext()) { return ObjectUtils.toString(first); } // two or more elements StringBuffer buf = new StringBuffer(256); // Java default is 16, probably too small if (first != null) { buf.append(first); } while (iterator.hasNext()) { if (separator != null) { buf.append(separator); } Object obj = iterator.next(); if (obj != null) { buf.append(obj); } } return buf.toString(); }
相关文章推荐
- 人月神话阅读笔记02
- B
- HDU 1846-Brave Game(巴什博弈-SG函数)
- [置顶] 匿名对象在开发中的应用
- 《程序员的修炼——从优秀到卓越》
- 数据库日期时间函数
- mysql 数据库学习笔记 3
- zookeeper运维管理
- String StringBuilder StringBuffer 对比 总结得非常好
- 【Scala】Vector内部结构与内存共享原理
- 求数组排列的范围
- bootstrap, boosting, bagging 几种方法的联系
- 第10、11周项目4:教师兼干部类
- POJ-1471-Tree(点分治)
- Hibernate关联关系映射(单向篇)
- Given an N layers triangle in mathematic like the graph below
- Centos安装配置HAProxy+Nginx环境
- 城市中的原始人(一):我们
- UI基础控件
- RxBus