Я учусь Скал и не могу узнать, как это сделать:Scala: установить значение поля рефлекторно от имени поля
Я делаю картограф между объектами SCALA и Google AppEngine сущностей, так что если я есть класс, как это:
Мне нужно создать экземпляр этого класса, в Java я хотел бы получить поле по его имени, а затем сделать field.set(object, value)
, но я не могу найти, как сделать это в Скале.
Я не могу использовать java-отражение, так как поля Student видны как private, а field.set - это ошибка из-за этого.
Благодаря
Спасибо! это было очень полезно, я принял участие в вашем коде и отлично работал в Scala. 2.7.6 – Damian
Вы также можете напрямую выбрать метод по имени, если вы используете getClass.getDeclaredMethod, если знаете заранее типы параметров метода! –
Почему это лучше, чем установка поля.setAccessible (true)? – Yael