Я хочу попытаться присвоить «контракт» или некоторый тип основы методу, который гарантирует, что длина массива, возвращаемого методом, всегда будет иметь длину x
.Гарантируйте длину возвращаемого массива
В псевдо-Java, это было бы удивительно:
public String[4] someMethod() {...}
Однако, это, кажется, не быть синтаксически правильным. Моя мысль оттуда было создание @interface
, чтобы гарантировать, что это:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface ArrayLength {
public int size() default 0;
}
//...
@ArrayLength(size = 4)
public String[] someMethod() {...}
Но это действительно только поверхностное исправление в данный момент. Есть ли способ генерировать простой метод гарантирования длины массива (без пробега исключений), который может быть с помощью предупреждений компилятора/IDE, или это невозможно в настоящее время в java?
В качестве бонуса, если есть способ просто генерировать предупреждение через netbeans (моя IDE), а затем удалить избыток во время компиляции, это было бы замечательно.
Что вы пытаетесь сделать? Почему/откуда вы знаете, что ваш массив всегда будет иметь ровно 4 элемента? – Sbodd
В приведенном выше примере для этого конкретного метода возвращаемый массив представлял бы данные некоторого типа («формат» для данных, если вы это сделаете). – Rogue
Любая причина не просто создавать класс для возвращаемого типа, который является фиксированным массивом размера 4? – rainkinz