【发布时间】:2015-10-26 18:08:48
【问题描述】:
我想创建一个通过 lambdas 将字符串的第一个字符转换为大写的基本程序 输入
singhakash
输出
Singhakash
我试过了
String st = "singhakash";
//approach 1
System.out.print(st.substring(0, 1).toUpperCase());
st.substring(1).codePoints()
.forEach(e -> System.out.print((char) e));
System.out.println();
//approach 2
System.out.print(st.substring(0, 1).toUpperCase());
IntStream.range(0, st.length())
.filter(i -> i > 0)
.mapToObj(st::charAt)
.forEach(System.out::print);
但是对于这两种情况,我必须单独打印第一个字符。有没有什么方法可以在没有单独的打印语句的情况下做到这一点?
注意:我可以通过循环或任何其他方法正常执行此操作,但我正在寻找仅 lambdas 的解决方案。
谢谢
【问题讨论】:
-
你真的必须使用 lambda 吗?
-
@dguay 是的,我只能使用 lambdas
标签: java string lambda java-8 uppercase