В моем классе информатики мы обсуждали значение null и значения, когда мы сталкивались с затруднительным положением. Мы не могли понять значение просто 2 кавычек без пробела как «". Просто интересно, знает ли кто-нибудь, что такое точное значение «». СпасибоЗначение двух котировок без пробела »«
ответ
Это пустой String
. JLS-3.10.5. String Literals говорит Строковый литерал состоит из нуля или более символов, заключенных в двойные кавычки. И затем включает этот пример
Ниже приведены примеры строковых литералов:
"" // the empty string
В Java String
(ы) неизменен, он имеет постоянную длину 0
и магазинов последовательность из 0
символов.
При инициализации с null
, как это:
String s1 = null;
Это означает, что ни один объект не присваивается переменной s1
. Тем не менее, когда вы инициализировать его с пустой строкой, как это:
String s2 = "";
Это означает, что объект строки присваивается s2
(хотя пусто).
Теперь, если вы хотите выполнить какую-либо операцию, допустим, вы хотите вызвать метод строки .equals(..)
, тогда он будет вызывать NullPointerException
в первом случае, поскольку нет объекта String. Тем не менее, он будет работать нормально в последнем, потому что там есть объект, неважно, пусто ли он или нет
s1.equals("something"); // throws NullPointerException
s2.equals("something"); // works fine
считать 'String test =" "; \t System.out.println (test.hashCode()); ' –
http://stackoverflow.com/questions/30458491/double-quotes-only-in-java-string-without-space – soorapadman