Java 字符串替换方法不工作
您的问题是您没有从str.replace返回结果。Java 字符串替换方法不工作,java,Java,您的问题是您没有从str.replace返回结果。 字符串是不可变的请确保必须为字符串赋值 public static String capitalise(String str) { if (str != null || !"".equals(str)) { char chr=str.charAt(0); String check= Character.toString(chr); String check1= check
字符串是不可变的请确保必须为字符串赋值
public static String capitalise(String str)
{
if (str != null || !"".equals(str))
{
char chr=str.charAt(0);
String check= Character.toString(chr);
String check1= check.toUpperCase();
char chr1=check1.charAt(0);
str.replace(chr, chr1);
return str;
}
else
{
System.out.println("Not a valid String");
}
return str;
}
为什么您不简单地使用:
str = str.replace(chr, chr1);
返回一个新字符串,该字符串由newChar替换该字符串中所有出现的oldChar生成但您并没有存储该值。所以您可以使用以下代码
str.replace(chr, chr1);
只需尝试执行
返回str.replace(chr,chr1)代码>。它应该按预期工作。否决票可能是因为您没有解释问题/您的输出方式与您预期的不同。@Matthewaddams,或者是因为代码在ubercooluk
之前没有正确标记edit@Shashank此外,如果条件不正确,则应该是and(&&
)语句,不是or(|
)语句,如null
和“”
是无效字符串。但我必须将大写字母改为字符串的第一个字符,但它在字符串中的每个位置都被替换,例如,替换前字符串=adwait替换后它变为adwait..您想将转换字符串adwait改为adwait,对吗?
str.replace(chr, chr1);
str = str.replace(chr, chr1);