Java Spring MVC - Dynami c имя свойства класса в модели - PullRequest
0 голосов
/ 19 апреля 2020

существует простое решение, как это (C#. NET):

    private void sortData(string param, string type)
    {
        var propertyInfo = typeof(MusicCatalogueRowClass).GetProperty(param);
        if (type == "asc")
        {
            _Data.rows = _Data.rows.OrderBy(o => propertyInfo.GetValue(o, null)).ToList();
        }
        else {
            _Data.rows = _Data.rows.OrderByDescending(o => propertyInfo.GetValue(o, null)).ToList();
        }
        saveDataToFile();
    }

сделать в Java Пружина (без. NET)? Я хочу отсортировать список объектов по Dynami c name property ...

Большое спасибо за любые советы ...

1 Ответ

0 голосов
/ 28 апреля 2020

Мое решение:

   private void sortData(String param, String type)
{
    try
    {

      List<MusicCatalogueRowClass> newData= _Data.getRows();

      newData.sort(Comparator.comparing(MusicCatalogueRowClass -> {
            try {
                return (Comparable) MusicCatalogueRowClass.getClass().getDeclaredField(param).get(MusicCatalogueRowClass);
            } catch (Exception e) {
                throw new RuntimeException("Ooops", e);
            }
        })); 

      if (type.equals("desc")) {
          Collections.reverse(newData);
      }
    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

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