3

In Java, what is the difference between "" (empty quotes) and " " (quotes with a single space) and how do I test the former in terms of a char?

pb2q
  • 58,613
  • 19
  • 146
  • 147
jgatcher
  • 175
  • 5
  • 12

4 Answers4

6

"" represents the empty string. " " is not empty, it contains a single space character.

You can't test the former in terms of a char, as there are no characters: test for it in terms of a String: it is the String of length zero, and String.equals("") returns true for the empty string.

Or in terms of char arrays, the empty string corresponds to the char array of length zero, e.g.:

char noChars[] = new char[0];
String str = new String(noChars);
// now str is the empty String
pb2q
  • 58,613
  • 19
  • 146
  • 147
  • I tried testing for the null character '\0' but it seems that is also not equivalent to an empty string. I also found this [answer](http://stackoverflow.com/a/3670520) which explained why. – jgatcher Aug 22 '12 at 11:00
4

"" - Is an Empty String, and it has a lenght of zero, try calling length() method on it.

" " - A String with 1 space.

Kumar Vivek Mitra
  • 33,294
  • 6
  • 48
  • 75
3
“” - Empty Sting - String with 0 length
“ ” - single space - String with 1 length
Subhrajyoti Majumder
  • 40,646
  • 13
  • 77
  • 103
1

Both "" and " " are String objects which are 0 and 1 in length respectively. Here is their content representation in terms of char primitives:

"" - empty char[] array
" " - char[] { ' ' } :- Char aray with single char entry

Best to use String.equals when comparing the contents of strings. Here just a length() check is necessary though.

Reimeus
  • 158,255
  • 15
  • 216
  • 276