String-List<Char>
Charatcer.valueOf('a');也可以自动装箱
常量池地址一样--
c.charValue()
String 有 chars()---intStream
然后Character.toChars()只会把int变成字符数组!是数组!所以不要用。
而valueOf不能用int;
而(char)i--基本数据类型才能强制转换;
最后---List<Character> list = str.chars().mapToObj(c->Character.valueOf((char)c)).collect(Collectors.toList());
常量池地址一样--
c.charValue()
String 有 chars()---intStream
然后Character.toChars()只会把int变成字符数组!是数组!所以不要用。
而valueOf不能用int;
而(char)i--基本数据类型才能强制转换;
最后---List<Character> list = str.chars().mapToObj(c->Character.valueOf((char)c)).collect(Collectors.toList());
全部评论
记得import java.util.stream.Collectors
对于基本数据类型必须使用mapToInt,mapToObj,mapToLong,之类的
mapToObj()方法是Stream API中的一个特殊版本,它用于将基本数据类型的Stream(例如IntStream、DoubleStream等)转换为对象类型的Stream。它接受一个IntFunction、LongFunction或DoubleFunction类型的函数式接口作为参数,用于将基本数据类型的元素进行转换,并返回一个新的Stream。其中,IntFunction、LongFunction和DoubleFunction接口分别定义了一个接受一个参数并返回一个结果的apply()方法。
应该直接-str.chars().mapToObj(c->(char)c).collect(Collectors.toList())
上面写错啦,重复啦,可以自动装箱
通过stream方法可以直接变成,第一个就是chars()变成intStream-随后必须使用mapToObj加Lambd 变成Character,无法使用双重的方法引用或者双重map,
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
点赞 评论 收藏
分享