Java 如何仅修改字符串的第一个字母?
我有一个字符串,读作你不能坐在+entity.getEntityType.toLowerCase+!;。它返回一个大写,这就是为什么我把它转换成小写 但是,我如何才能只得到第一个字母,并将其转换为大写字母Java 如何仅修改字符串的第一个字母?,java,string,Java,String,我有一个字符串,读作你不能坐在+entity.getEntityType.toLowerCase+!;。它返回一个大写,这就是为什么我把它转换成小写 但是,我如何才能只得到第一个字母,并将其转换为大写字母 最好使用一行程序解决方案,但是乞丐不能选择。在java中,如果您对字符串进行任何操作,它将在内存中创建一个新字符串 以下是如何做到这一点: String output = input.substring(0, 1).toUpperCase() + input.substring(1); 您可
最好使用一行程序解决方案,但是乞丐不能选择。在java中,如果您对字符串进行任何操作,它将在内存中创建一个新字符串 以下是如何做到这一点:
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
您可以使用以下内容:
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
另一方面,看看番石榴图书馆也不错
String output = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, entity.getEntityType()));
仅在这种情况下,它会被过度使用,但它还有许多其他有用的实用程序,不仅用于字符串操作更有效的方法是将第一个字符视为一个字符而不是一个字符串:
我首先想到的是这个
int x = a.codePointAt(0)-32;
a=a.replace(a.charAt(0), (char) x);
需要注意的一点是原始字符串没有被修改。将创建一个首字母大写的新字符串。@TheLostMind:这是正确的。我会在我的回答中添加这些信息。谢谢这是个陷阱。当第一个字符是数字或非英语语言的Unicode字符时会发生什么情况?我知道它只是包含字符的字符串。@tudoricc 7和ü也是字符,并且至少7将导致您的方法无意义,因为它没有大写字母,它将成为传输的结束字符。对你来说,这是可行的,但是汉字呢?汉字有大写字母吗?我不知道,但无论如何它们都会被转换成某种东西。贝加尔不能选择。在这里,专家们会无私地帮助别人。虽然提问者保留选择答案的权利,但他应该表现出一定的尊重。如果您想进行代码挑战,可以在中发布它们。但是你必须做得更好。@Krumia我是一个乞丐,因为我不能做java允许之外的方法。如果java不允许我像我所要求的那样做一行程序,那么我就没有这个能力。因此,从这个意义上说,我是一个乞丐。
int x = a.codePointAt(0)-32;
a=a.replace(a.charAt(0), (char) x);