-2

它可能看起来是一个愚蠢的问题,但它给出了错误的输出!

trim() 应该删除字符串开头或结尾的“空格”或“换行”字符,但它不起作用。

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

如果我正在输入---> “字符串” (有很多空格),我得到的答案是False ......我正在为我的 Androing 项目使用 Eclipse Juno,有什么例外吗?请帮忙。

4

5 回答 5

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

应该:

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

Strings在 Java 中是不可变的。像trim()创建一个新字符串这样的操作。

于 2013-07-01T17:51:30.487 回答
2

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

您可以使用str = str.trim().

于 2013-07-01T17:52:15.317 回答
1

String.trim()返回结果修剪后的字符串。

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

于 2013-07-01T17:53:59.953 回答
1

trim 方法返回字符串的副本。将第二行更改为:

str = str.trim();

来源:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#trim()

于 2013-07-01T17:55:41.973 回答
1

利用

 String str=str.getText().toString().trim();
于 2013-07-01T18:03:58.667 回答