用流来进行
String str = "1,2,3"; List<String> list = Stream.of(str.split(",")).collect(Collectors.toList()); ;大家可能常用Arrays工具类的asList(T... a)方法,但是这种方法生成的list不能进行删除和添加操作,会报错。
List<String> list2 = Arrays.asList(str.split(",")); list2.add("1"); //报错信息: java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148)//这里点进去就可以看到调用的AbstractList的add at java.util.AbstractList.add(AbstractList.java:108)为什么会报错,因为该方法生成的List 是ArrayList的内部类,而内部类没有重新AbstractList 的add方法,而AbstractList 的add方法就是直接抛出异常。 咳咳,这是个知识点记住哦。当然你非要用工具类来创建,你可以重新new一个ArrayList然后构建函数传进去。我更推荐用流的方式来进行创建,简单不易出错。
没啥好说,直接流转。
list.stream().collect(Collectors.joining(","))同理你也可以转list中的元素实体对象的。只不过map方法改一下。
总结: 注意理解 stream()、map()、collect()方法
—拓展 stream()、map()、collect()方法简单综合运用——逗号相间的字符串,在每个字符前再添加某个字符
@Test public void test7(){ String str = "a,b,c,d"; System.out.println(Stream.of(str.split(",")).map( item ->{return "t1."+item;}).collect(Collectors.joining(","))); }多总结,打造自己的知识体系,不用加晚班。