DejaVu Без Моно (иногда известный как Паника Без), размер 11, anti-alised. Ранее я только использовал шрифты, которые не были сглажены, но это просто, кажется, работает на этот шрифт.
If you don't like static blocks (some people don't) then an alternative is to use a static method. IIRC, Josh Bloch recommended this (apparently not in Effective Java on quick inspection).
public static final ObjectName OBJECT_NAME = createObjectName("foo:type=bar");
private static ObjectName createObjectName(final String name) {
try {
return new ObjectName(name);
} catch (final SomeException exc) {
throw new Error(exc);
}
}
Or:
public static final ObjectName OBJECT_NAME = createObjectName();
private static ObjectName createObjectName() {
try {
return new ObjectName("foo:type=bar");
} catch (final SomeException exc) {
throw new Error(exc);
}
}
(Edited: Corrected second example to return from method instead of assign the static
.)
Ваш код действителен. Мне не сложно читать. Иначе было бы только хуже. Их трудно читать только для начала, потому что большинство из них не знакомы с этим. Просто следуйте стандартным соглашениям в отношении порядка элементов в коде. Например, не помещайте статические инициализаторы на полпути или внизу кода, а также не допускайте, чтобы несколько из них распространялись по классу. Просто поместите один вверху после статических объявлений.
статические
блоки читать несложно. Так что я бы порекомендовал это решение.
Однако вы можете обернуть свой объект другим объектом, например
ObjectNameWrapper
, который разделяет интерфейс
с вашим ObjectName
, и чей конструктор вызывает ваш конструктор ObjectName
, скрывая все возникающие отмеченные исключения. Но опять же, я бы выбрал статический вариант.