Общий интерфейс массива в java

public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
    private MyArrayImp[] m;
    private int i;
    private T element;

    @Override
    public T get(int i) {
        return (T) m[i].element;
    }

    @Override
    public void set(int i, T e) {
        m[i].element = e;   
    }

    etc...

Я хочу реализовать общий класс массива, имеющий следующий интерфейс с классом MyArrayImp

public interface MyArray<T extends Comparable<T>> {
    T get(int i);
    void set(int i, T e);
    int min();
    int max();
    int nbBetween(T e1, T e2);
}

наконец, создайте класс MyArrayFactory, который создает и возвращает массив размера n public static> MyArray getMyArray (int n) {return new ...; }

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

Непонятно, о чем вы спрашиваете. Вы можете уточнить?

Carcigenicate 18.09.2018 17:18

Я не понимаю, почему ваши участники определены как частные MyArrayImp [] m; частный int i; частный элемент T; Вам нужно только иметь закрытый член T [] elements

mdewit 18.09.2018 17:23
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
455
1

Ответы 1

Я бы определил так:

public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
    private T[] m;

    @SuppressWarnings("unchecked")
    public MyArrayImp(Class<T> clazz, int size) {
        this.m = (T[]) Array.newInstance(clazz, size);
    }

    @Override
    public T get(int i) {
        return m[i];
    }

    @Override
    public void set(int i, T e) {
        m[i] = e;   
    }
...etc

Другие вопросы по теме