Вместо того, чтобы по-настоящему избегать «повторения» (Java-люди, вероятно, сказали бы, читаемый код без многих секретов), вы можете использовать функцию шаблонов Eclipse. у меня есть его, чтобы расширить две буквы "ил" в следующем блоке:
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
// do something.
} catch (Exception e) {
e.printStackTrace();
}
}
});
Очевидно, такой дизайн очереди рассылки не только рекомендуется, но и в основном необходим. Это, пожалуй, самый шумный способ, которым я когда-либо видел на любом языке, когда я помещаю лямбду в очередь сообщений. Но это так. Это Ява. И в защиту Java, безусловно, из вышесказанного очевидно, что именно происходит. Я действительно недоволен количеством печатания, но единственное, что я могу придумать, чтобы избежать его, это макросы препроцессора C, и я держу пари, что людям на Java это не нравится. Расширение кода с помощью шаблонов более читабельно, поддерживается и не требует никакой черной магии.