我学会了string.trim()删除前导和尾随空格。但在我的情况下,它不起作用我正在尝试下面的代码,但输出带有前导和尾随空格。但我的期望是没有前导和尾随空格的文本。这是我的代码。
String s = " Hello Rais ";
s += " Welcome to my World ";
s.trim( );
System.out.println(s);
请帮我
您需要将返回的结果重新分配trim给s:
s = s.trim();
请记住,Java 中的字符串是不可变的,因此几乎所有 String 类方法都会创建并返回一个新字符串,而不是就地修改字符串。
虽然这是题外话,但是(正如我在那里所说almost),值得知道的是,这个规则的例外是在创建substring相同长度的时候,或者任何时候方法返回具有相同值的字符串,这将被优化和不会创建一个新字符串,而只是简单地 return this。
String s = "Rohit";
String s2 = s.substring(0, s.length());
System.out.println(s == s2); // will print true
在 Java 中,字符串是immutable. 所以s.trim()不修改原始字符串而是返回一个新字符串。
String trimmed = s.trim();
只需添加s=s.trim( );,因为 trim 返回一个新字符串。
嗯..string 是不可变的对象。因此,每当您执行 trim() 时,它都会创建一个全新的 String 对象,该对象需要引用才能访问它。因此,请按如下方式为这个修剪过的 String 对象分配一个引用。
s = s.trim();
或者
trimmedS = s.trim();
了解String在 Java 中是不可变的。这意味着对String类的任何操作都不会更改内部字符串本身,而是返回一个新String对象。
所以你真的需要做
s = s.trim()
它将引用分配给删除了尾随和前导空格s的新对象。String
trim函数通过修剪空格返回原始字符串的副本,因此您需要存储新返回的字符串,例如s = s.trim()
trim
public String trim()
Returns a copy of the string, with leading and trailing whitespace omitted.