Java Unchecked Cast Предупреждение: требуется ArrayList < T & gt ;, найдено ArrayList < Contract >

Начальный блокнот с флагом --script сохранит файл .py рядом с .ipynb при каждом сохранении. Посмотрите на github / ipython / nbconvert , который в настоящее время сливается с самим IPython, поэтому не ожидайте точности документа и nbconvert, чтобы работать из коробки, не работая немного. (./nbconvert & lt; format & gt; & lt; file.ipynb & gt;) во время этой записи, & lt; format & gt; в [python, latex, markdown, full_html, ...])

Вы также можете (как ipynb is json), загрузить его, пропустить его и eval кодеку в текущем пространстве имен. Вы найдете пример здесь и там в Интернете или IPython wiki на github.

Этот ответ слишком стар, см. Ниже ответ @williampli.

1
задан Fab Sanchez 18 February 2019 в 15:26
поделиться

1 ответ

Вы можете сделать этот класс абстрактным, и тогда подкласс должен реализовать фактический вызов базы данных:

public abstract class PaginationWrapper<T> {
    private int currentPage = 1;
    private int pageSize = 100;

    public ArrayList<T> getNextPage() {
        currentPage++;
        int startRow = currentPage * pageSize;

        // here we delegate to the implementation
        return getNextPage(startRow, pageSize);
    } 

    protected abstract ArrayList<T> getNextPage(int startRow, int pageSize);
}

И затем создать 2 подкласса

public class JobPagination extends PaginationWrapper<Job> {
    protected ArrayList<Job> getNextPage(int startRow, int pageSize) {
         return /* list from database */
    }
}

public class ContractPagination extends PaginationWrapper<Contract> {
    protected ArrayList<Contract> getNextPage(int startRow, int pageSize) {
         return /* list from database */
    }
}

Теперь общая логика упакована в PaginationWrapper, но фактическая логика базы данных теперь находится в определенном подклассе.

0
ответ дан Lino 18 February 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: