2013-07-01 46 views
-2

它可能看起来是一个愚蠢的问题,但它给出错误的输出!string.trim()不起作用?

trim()应该删除字符串开头或结尾处的'space'或'new line'字符,但它不起作用。

String str=str.getText().toString(); 
str.trim(); 
if(str.equalsIgnoreCase("STRING")) 
    mytextview.setText("True"); 
else 
    mytextview.setText("False"); 

如果我输入---> “STRING” (由于许多空格), 我得到的答案....我使用Eclipse为朱诺我的Androing项目,是否有例外? 请帮助。

+2

一个'String'在Java中是不可变的。它不能被修改。 'trim()'返回一个新的'String'。 –

回答

5
String str=str.getText().toString(); 
str.trim(); 

应该是:

String str=str.getText().toString(); 
str = str.trim(); 

Strings在Java不变。像trim()这样的操作会创建一个新的String。

+0

谢谢!愚蠢的我:p – Vaido

+0

@ user2525485:祝你好运! – kosa

+0

@ user2525485:看起来Nambari击败了我们所有人的答案。本网站帮助他人的最佳方式是选择一个答案。这样,如果其他人认为他们有一个明确的“正确”答案。您可以通过点击Nambari答案旁边的复选标记来标记选定的答案。 – Vanquish46

2

您不存储str.trim()的输出。它不修改原始String;相反,它会生成一个新的,单独的。

您可以使用str = str.trim()将其存储回原来的位置。

1

String.trim()返回生成的修剪字符串。

你需要做的str = str.trim();

1

使用

String str=str.getText().toString().trim();