uczę Scala i nie można dowiedzieć się, jak to zrobić:Scala: ustawić wartość pola refleksyjnie od nazwy pola
Robię mapowania między obiektami Scala i google podmioty AppEngine, więc jeśli mogę mieć klasę takiego:
muszę utworzyć wystąpienie tej klasy w Javie i dostanie terenie przez jego nazwę, a następnie wykonaj field.set(object, value)
ale nie mogę znaleźć, jak to zrobić w Scala.
Nie mogę używać odbicia w Javie, ponieważ pola Studentów są postrzegane jako prywatne, a pole.set powoduje błąd z tego powodu.
Dzięki
Dzięki! to było naprawdę pomocne, brałem część twojego kodu i działałem dobrze w Scala 2.7.6 – Damian
Możesz także bezpośrednio pobrać metodę według nazwy, jeśli używasz getClass.getDeclaredMethod, jeśli znasz wcześniej typy parametrów metody! –
Dlaczego jest lepszy niż ustawienie field.setAccessible (true)? – Yael