Отражение сомнения - PullRequest
       6

Отражение сомнения

0 голосов
/ 03 мая 2018

Я реализовал приложение, которое имитирует магазин в java со всей информацией, размещенной в базе данных, созданной на SQL. Моя проблема связана с техникой отражения, которую я должен реализовать, чтобы показать список элементов из таблицы. Я попробовал этот метод (первый ответ, тот, который с метаданными) Самый простой код для заполнения JTable из ResultSet Однако мне сказали, что это не метод отражения. Я сделал это, руководствуясь учителем. Но я понятия не имею, как на самом деле вызвать его в моей функции и откуда должен появиться «объект». Первая функция возвращает заголовки, а вторая извлекает информацию и создает таблицу.

public class ReflectionExample {

    protected static final Logger LOGGER = Logger.getLogger(ClientDao.class.getName());
    public static ArrayList retrieveProperties(Object object) {
        ArrayList<String> ob = new ArrayList<String>();
        Class obiect = object.getClass();

        int i = 0;
        for (Field field : object.getClass().getDeclaredFields()) {
            field.setAccessible(true); // set modifier to public
            ob.add(field.getName());

            i++;
        }
        return ob;

    }

    public static JTable retrievePropertiesM(List<?> object,    Object[]lit) {
        Class obiect = object.getClass();
        Object [][] matrice = new Object[object.size()][20];
        //Object[] lit=null;

        int row = 0;
        for (Object o : object) {
            int col = 0;
            for (Field field : o.getClass().getDeclaredFields()) {
                field.setAccessible(true); // set modifier to public

                Object value;
                try {

                    value = field.get(object);
                    matrice[row][col]=value;
                    //lit[col]=field.getName();

                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
                col++;
            }
            row++;
        }
    //  Object[] lit=retrieveProperties(object);
        JTable t = new JTable(matrice,lit);
        return t;


    }
}

Однако я сомневаюсь, почему первый сделанный мной способ не был отражением? В общем, я не понимал, что означает отражение, кроме того, что метод с отражением может быть вызван любым типом объекта из базы данных. Некоторые объяснения или, может быть, где-то я могу лучше понять отражение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...