List<T>轉換爲二維數組

代碼紀錄:

 /**
     * Convert the list<T> to a two-dimensional array,the T must be entity bean
     * @param list the list
     * @param clazz the entity type
     * @param <T> entity
     * @return two-dimensional array
     */
    public static <T> Object[][] listToArray(List<T> list, Class<? extends T> clazz) {
        List<Field> fields = Arrays.stream(clazz.getDeclaredFields()).filter(field -> !field.getName().equals("serialVersionUID")).collect(Collectors.toList());
        Object[][] objects = new Object[list.size()][fields.size()];
        for (int i = 0; i < list.size(); i++) {
            T t = list.get(i);
            for (int j = 0; j < fields.size(); j++) {
                try {
                    Field field = fields.get(j);
                    field.setAccessible(true);
                    objects[i][j] = field.get(t);
                    field.setAccessible(false);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
        return objects;
    }

注意泛型必須是實體bean

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章