Интерфейс CharSequence и его методы

282
20 марта 2017, 07:56

Имеем interface CharSequence. Данный интерфейс содержит в себе следующие методы:

charAt(int index);
lenght();
subSequence(int start, int end);
toString();

Вопрос следующий: Возможно ли в IDEA при создании упомянутого интерфейса не писать его методы в ручную, а вызвать хоткеями? Как, например через alt + insert можно быстро вызвать геттеры и сеттеры, либо конструкторы класса.

Answer 1

Вряд ли. Данный интерфейс подразумевает ручное создание какой-то новой реализации для данного интерфейса. Вдруг Вы создадите свою реализацию, которая вмещает в себя числовые значения символов и сортируется в порядке хэш-кодов. Тогда IDEA просто не сможет догадаться, что же там такое.

По умолчанию она может генерировать только пустые методы, которые возвращают null, 0 и false, в зависимости от возвращаемого типа. Михаил описал данный пункт более подробно.

Answer 2

Можно создать лишь скелет интерфейса CharSequence, но логику вам придется писать самому.

Если написать такой код

public class CharSeqImpl implements CharSequence {
}

То IDEA подсветит всю строку как ошибку (подчеркнет красным), если поместить курсор на эту строку и нажать Alt+Enter, то в появившемся меню можно выбрать Implements methods

и тогда IDEA добавит скелет для всех методов интерфейса.

В результате получиться

public class CharSeqImpl implements CharSequence {
    @Override
    public int length() {
        return 0;
    }
    @Override
    public char charAt(int index) {
        return 0;
    }
    @Override
    public CharSequence subSequence(int start, int end) {
        return null;
    }
}
READ ALSO
из java/c# в Delphi [требует правки]

из java/c# в Delphi [требует правки]

ПриветЕсть необходимость перевести данный ниже код в Delphi

494
Поиск существующего фрагмента

Поиск существующего фрагмента

В активити создаю фрагменты frag1,frag2Сохраняю идентификатор frag2:

245
Как запускать единственный экземпляр Activity из Fragment?

Как запускать единственный экземпляр Activity из Fragment?

Имеется класс Home extends Activity с NavigationDrawer в нёмЧерез displayView создаю Fragment'ы в зависимости от нажатия элемента

241
Не работает Toast [требует правки]

Не работает Toast [требует правки]

Пытаюсь программировать на АндроидЧасто использовал Тосты

349