Java 修改函数无法打印预期结果

Java 修改函数无法打印预期结果,java,Java,赵,我想修改一个变量,然后在修改函数后得到它的值,但是为什么我会得到意想不到的结果呢 String value="I miss the messenger"; public void func(String value) { value.replace("miss","kiss"); } /// print it Writeline(value); 谢谢Java字符串是,因此replace创建一个必须分配的新字符串,例如 value = value.replace("miss", "ki

赵,我想修改一个变量,然后在修改函数后得到它的值,但是为什么我会得到意想不到的结果呢

String value="I miss the messenger";
public void func(String value)
{
   value.replace("miss","kiss");
}
/// print it
Writeline(value);
谢谢

Java字符串是,因此
replace
创建一个必须分配的新字符串,例如

value = value.replace("miss", "kiss");
Java字符串是,因此
replace
创建一个必须分配的新字符串,例如

value = value.replace("miss", "kiss");

您传递的字符串未被修改(字符串在Java中是不可变的)。 因此,
replace(…)
方法将返回原始字符串的修改版本,您必须传递它,否则它将丢失

将其更改为:

public String func(String value)
{
  return value.replace("miss","kiss");
}

String value="I miss the messenger";
value = func(value);
Writeline(value);

您传递的字符串未被修改(字符串在Java中是不可变的)。 因此,
replace(…)
方法将返回原始字符串的修改版本,您必须传递它,否则它将丢失

将其更改为:

public String func(String value)
{
  return value.replace("miss","kiss");
}

String value="I miss the messenger";
value = func(value);
Writeline(value);

你的函数应该返回一个字符串,你应该打印出返回的内容

public String func(String value)
{
  return value.replace("miss","kiss");
}

String value="I miss the messenger";

/// print it
Writeline(func(value));

你的函数应该返回一个字符串,你应该打印出返回的内容

public String func(String value)
{
  return value.replace("miss","kiss");
}

String value="I miss the messenger";

/// print it
Writeline(func(value));
你输入了“不可变”的字!你输入了“不可变”的字!