Если вы используете C #, вы можете использовать operator ??
:
String x = object.getString1 ?? "";
, который, ИМХО, более читабелен.
Что касается вашего вопроса, я не вижугде смысл использовать шаблон Null Object для типа значения, как вы уже отметили, что они не могут содержать нулевое значение, если они не объявлены как Nullable, поэтому у вас всегда будет значение valid (допустимо в языковой областино, возможно, не действует в домене приложения).Итак, это совсем другой вопрос.
То, что вы должны сделать с нулевым указателем, действительно зависит от контекста, может быть, подходит нулевой объект, но если это невыполнимо, вы должны выбросить исключение или, возможно, использоватьнекоторые по умолчанию ...