Как показало голосование по вопросу java 7 language changes1, null-handling в java - это самый большой “pain in the ass” из всех, через которые Java заставляет проходить программистов. С другой стороны то-же голосование на devoxxx по вопросу самого популярного языка под JVM, показало, что это Groovy.
Видимо, все те, кто привыкли к оператору Элвиса и safe-navigate в groovy, пришли на devoxxx и устроили флеш моб. Вобщем приветствуйте. Proposal2 определяет 2 новых оператора в языке: null-safe
и null-default
. Работает так же как и в groovy. Просто и понятно.
Null-safe operator Link to heading
String a ... ;
String b;
// сегодня
b = a != null
? a.substring(10, 2);
: null;
// завтра
String b = a?.substring(10, 2);
Null-default operator Link to heading
// сегодня
if ( name == null ) {
name = "Anonymous";
}
// завтра
name = name ?: "Anonymous";
Лично я ничего против не имею. Давно пора.