2013-04-15 93 views
-9

总是遇到Java字符串的最后一个字符串符号末尾问题。它似乎占据了一个空间,因此它可能会返回不同的答案时,如果字符串[A] ==字符串[B],甚至有时a.equals(B)仍然无法工作,甚至A和B似乎是相同的,但其中一个包含一个结束标志。 不知道哪个函数可以用于字符串的忽略功能?Java字符串以空格结尾

+2

你可以试着用'.trim()'' – Blender

+1

字符串#trim','字符串#修剪空白startsWith' ...? – MadProgrammer

+3

'string [a] == string [b]'不要那样做 – Thilo

回答

4

使用String.trim()清除周围的空白,然后用String.equals()==,见15.21 Equality Operators在Java语言规范的全部细节。)。请记住String实例是不可变的,因此String.trim()会返回一个新的String,它是equals()检查中必须使用的实例。

请注意,trim()也删除主要空白。如果这是不希望的,则使用String.substring()删除尾随的空白。

1

应该总是在trim()之前比较的字符串。

+1

为什么我们应该总是在比较时修剪字符串? – sabisabi

+0

对于任何**有意义的**比较,都有助于减少bug。 – Ankit

0
trim() 

将在开始和结束时返回没有空格的字符串。

例:

String s =" test "; 
s =s.trim(); //will become "test" 
0

你只能用stringA.equals(stringB);删除空格使用.trim()

相关问题