gpt4 book ai didi

java - 仅使用 java 8 lambdas 将字符串的第一个字符转换为大写

转载 作者:行者123 更新时间:2023-11-29 09:37:35 26 4
gpt4 key购买 nike

我想创建一个基本程序,通过 lambda 将字符串的第一个字符转换为大写输入

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);

但是对于这两种情况,我都必须单独打印第一个字符。有没有什么方法可以在没有单独的打印语句的情况下做到这一点?

注意:我通常可以通过循环或任何其他方法来做到这一点,但我正在寻找仅限 lambda 的解决方案。

谢谢

最佳答案

你可以这样做:

String st = "singhakash";
IntStream.range(0, st.length())
.mapToObj(i -> i == 0 ? Character.toUpperCase(st.charAt(i)) : st.charAt(i))
.forEach(System.out::print);

关于java - 仅使用 java 8 lambdas 将字符串的第一个字符转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33352677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com