Java 为什么trim()不删除本例中的尾随空格?
我在这里修改Java:并提出了以下问题: “Q1.以下代码段的输出是什么Java 为什么trim()不删除本例中的尾随空格?,java,string,trim,Java,String,Trim,我在这里修改Java:并提出了以下问题: “Q1.以下代码段的输出是什么 String s = " Hello "; s += " World "; s.trim( ); System.out.println(s); A1.输出将为 " Hello World " 有前导空格和尾随空格。有些人会期望一个修剪过的“Hello World” 那么,这个问题要测试什么概念呢 字符串对象是不可变的,在s.trim()行中有一个技巧。 了解符合垃圾收集条件的对象引用和无法访问的对象。“ 有人能解释为
String s = " Hello ";
s += " World ";
s.trim( );
System.out.println(s);
A1.输出将为
" Hello World "
有前导空格和尾随空格。有些人会期望一个修剪过的“Hello World”
那么,这个问题要测试什么概念呢
字符串对象是不可变的,在s.trim()行中有一个技巧。
了解符合垃圾收集条件的对象引用和无法访问的对象。“
有人能解释为什么没有删除尾随空格吗?方法trim()
不会修改不可变的字符串。它返回经过修剪的字符串
,该字符串立即被忽略,保持s
不变。替换
s.trim( );
与
方法trim()
不会修改字符串,该字符串是不可变的。它返回经过修剪的字符串
,该字符串立即被忽略,保持s
不变。替换
s.trim( );
与
啊,对。我现在看到了。他们故意错过了作业!啊,对。我现在看到了。他们故意错过了作业!为了在将来帮助您,如果我不知道s.trim()不修改字符串,我将如何回答这个问题。在问题文本中,您被告知字符串对象是不可变的,并且在s.trim()行中有一个技巧
。因为这行中唯一的内容是s.trim()代码>,我会看看它的作用。这里是javadoc:第一行告诉您返回字符串的副本,前导和尾随空格被省略。
由于返回值在这里被忽略,您已经找到了答案。为了将来帮助您,如果我不知道s.trim()不修改字符串,我将如何回答这个问题。在问题文本中,您被告知字符串对象是不可变的,并且在s.trim()行中有一个技巧
。因为这行中唯一的内容是s.trim()代码>,我会看看它的作用。这里是javadoc:第一行告诉您返回字符串的副本,省略了前导和尾随空格。
因为这里忽略了返回值,所以您找到了答案。