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