2010-11-14 20 views
7

Próbuję powiązać pole pierwotnego typu "int" z edytorem. Mój edytor rozszerza ValueBox<Integer>, ponieważ generics w Javie może używać tylko typów obiektów.W jaki sposób struktura edytora GWT 2.1 obsługuje typy podstawowe?

Kiedy mogę skompilować mojej aplikacji, pojawia się następujący błąd:

00:00:18,915 [ERROR] Found unexpected type int while evauating path "cadastralDivisionCode" using getter expression ""

Zmiana getter i setter do korzystania z obiektu, Integer, załatwia sprawę. Czy istnieje sposób użycia typu pierwotnego w strukturze edytora GWT 2.1?

Odpowiedz

4

Dla typów pierwotnych należy poczekać na 2.1.1. Jest to śledzenie open bug.

+1

Nie jest jasne, czy zaimplementują to w 2.1.1 - ten błąd mówi tylko, że "jasno zdefiniują" zachowanie z prymitywami. Wygląda na to, że sprawią, że zawiedzie z bardziej użytecznym komunikatem o błędzie. Jan, myślę, że powinieneś zawijać twoje ints z liczbami całkowitymi i nie czekać na 2.1.1, aby rozwiązać ten problem. –

+1

To właśnie zamierzamy zrobić, ale szkoda. Prymityw nie może być pusty i używamy go dla pól nienadających się do null. Teraz musimy dodać tę logikę walidacji. – Jan

4

Nie oglądałem wewnętrznych elementów GWT, ale najprawdopodobniej nie można tego zrobić, ponieważ wartości pierwotne nie są traktowane przez odniesienie i nie można ich umieścić w kolekcjach.

Jedynym sposobem jest użycie równoważnych typów obiektów, np. Integer dla int.

Powiązane problemy