Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Boolean_Replaceall - Fatal编程技术网

无法将字符串替换为另一个(布尔值)-Java

无法将字符串替换为另一个(布尔值)-Java,java,string,boolean,replaceall,Java,String,Boolean,Replaceall,什么都没有被取代。我仍然得到“假真实”。 我想将字符串中的所有“false”和“true”替换为“f”和“t” 我很确定我做得不对,这就是我需要你帮助的原因,我将非常感谢你的帮助。字符串是不变的。当您对字符串执行任何操作时,它将创建新字符串。您需要再次将结果分配给引用 它应该类似于s=s.replaceAll(“false”、“f”)字符串是不可变的。当您对字符串执行任何操作时,它将创建新字符串。您需要再次将结果分配给引用 它应该类似于s=s.replaceAll(“false”、“f”)调用.

什么都没有被取代。我仍然得到“假真实”。 我想将字符串中的所有“false”和“true”替换为“f”和“t”


我很确定我做得不对,这就是我需要你帮助的原因,我将非常感谢你的帮助。

字符串是不变的。当您对字符串执行任何操作时,它将创建新字符串。您需要再次将结果分配给引用


它应该类似于
s=s.replaceAll(“false”、“f”)

字符串是不可变的。当您对字符串执行任何操作时,它将创建新字符串。您需要再次将结果分配给引用

它应该类似于
s=s.replaceAll(“false”、“f”)

调用.replaceAll(“false”、“f”)时,实际上根本没有对字符串进行变异。您需要将该值指定给s,如下所示:

boolean b1 = false;
boolean b2 = true;


String s = new String(b1+""+b2);

s.replaceAll("false", "f");
s.replaceAll("true", "t");
当调用.replaceAll(“false”、“f”)时,实际上根本没有对字符串进行任何修改。您需要将该值指定给s,如下所示:

boolean b1 = false;
boolean b2 = true;


String s = new String(b1+""+b2);

s.replaceAll("false", "f");
s.replaceAll("true", "t");

你需要这样写:

System.out.println(s.replaceAll("false", "f ").replaceAll("true", "t "));

字符串是不可变的,因此一旦声明它们,它们就无法更改。调用此
s.replaceAll(“false”,“f”)
使用
的“f”而不是
的“false”
创建一个新的字符串对象。由于您没有将此新对象分配给变量,因此新字符串基本上丢失了,而您的左字符串与原始字符串相同。

您需要这样编写:

System.out.println(s.replaceAll("false", "f ").replaceAll("true", "t "));

字符串是不可变的,因此一旦声明它们,它们就无法更改。调用此
s.replaceAll(“false”,“f”)
使用
的“f”而不是
的“false”
创建一个新的字符串对象。由于您没有将此新对象分配给变量,因此新字符串基本上丢失了,您的左字符串与原始字符串相同。

java中的字符串是不可变的,这意味着,一旦创建,字符串对象的值将不会更改

因此,方法replaceAll()(或String类中的几乎所有其他方法)被设计为返回新字符串,而不是修改旧字符串

所以这个电话应该是

 s =  s.replaceAll("false", "f");
 s =  s.replaceAll("true", "t");

关于不变性的更多信息是

java中的字符串是不可变的,这意味着一旦创建,字符串对象的值就不会改变

因此,方法replaceAll()(或String类中的几乎所有其他方法)被设计为返回新字符串,而不是修改旧字符串

所以这个电话应该是

 s =  s.replaceAll("false", "f");
 s =  s.replaceAll("true", "t");

关于不变性的更多信息是

首先,您需要认识到
字符串
是不可变的。这意味着其内容无法更改。为了获得replaceAll()方法的结果,您需要将返回值赋给
字符串
,首先,您需要认识到
字符串
是不可变的。这意味着其内容无法更改。为了获得replaceAll()方法的结果,需要将返回值赋给
字符串

注意
字符串
在Java中是不可变的。注意
字符串
在Java中是不可变的。