Odkryłem bibliotekę mapowania obiektów bazy danych Room i pomyślałem coś dziwnego.Dlaczego encje pokojowe nie działają z niezmiennymi właściwościami w Androidzie
Model danych encji nie może mieć właściwości niezmiennych, jak sugeruje odpowiedź this.
Ale sprawdziłem też, czy google's persistent example with kotlin, działa z niezmiennymi właściwościami. Sprawdź klasę danych this na przykładzie.
Jaki może być powód takiego zachowania?
Może to być dobra funkcja, jeśli możemy tworzyć niezmienne wartości (val
właściwości), ponieważ ogranicza to programistów przed zmienianiem unikalnych identyfikatorów, takich jak identyfikatory po utworzeniu obiektu.
Nie jestem ekspertem w pokoju specjalnie, ale wierzę, że jeśli chcesz używać 'val ', musisz podać wartości domyślne dla wszystkiego, ponieważ może opierać się na domyślnym konstruktorze lub czymś, o ile to się ostatnio nie zmieniło. Ponadto nie będzie można zmienić wartości po ich ustawieniu. –
@JanVladimirMostert Dzięki za odpowiedź. Testowałem to z domyślnymi wartościami, nadal problem zdaje się występować –