Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串替换方法不工作_Java - Fatal编程技术网

Java 字符串替换方法不工作

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

您的问题是您没有从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.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);