Это было решение, которое создатели Java приняли на раннем этапе. Любое нулевое значение, объединенное со строкой, будет выводиться как null
. Это имеет смысл, если вы представляете, что пытаетесь вывести сообщение журнала:
String personName = null;
System.out.println("Person name is: " + personName);
Результат:
Имя человека: null
Такое поведение может помочь вам при отладке, потому что вы знаете, что переменная на самом деле была нулевой (в отличие, например, от пустой строки).
Они могли бы просто выдать исключение, когда вы попытаетесь это сделать, но это привело бы к поломке многих вещей даже при выполнении чего-то вроде создания сообщения журнала или строки исключения.
Они также могли бы поступить так, как вы ожидали, и вывести нулевые значения в виде пустой строки. Это то, что делает платформа .NET. Но, в конце концов, это не то, что они решили сделать.
person
StriplingWarrior
schedule
30.10.2012