晁,我想修改一个变量,然后在修改函数后得到它的值,但为什么我会得到意想不到的结果。修改功能无法打印预期结果
String value="I miss the messenger";
public void func(String value)
{
value.replace("miss","kiss");
}
/// print it
Writeline(value);
谢谢
晁,我想修改一个变量,然后在修改函数后得到它的值,但为什么我会得到意想不到的结果。修改功能无法打印预期结果
String value="I miss the messenger";
public void func(String value)
{
value.replace("miss","kiss");
}
/// print it
Writeline(value);
谢谢
Java中的字符串是immutable,因此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);
你的函数返回一个字符串,你应该printoiut什么`返回
public String func(String value)
{
return value.replace("miss","kiss");
}
String value="I miss the messenger";
/// print it
Writeline(func(value));
您typoed和换货 “不可改变的”! –