Wenn Sie diesen Code mit DatastoreService verwenden, kann ClassCastException Long nicht in Ganzzahl von fromEntity umgewandelt werden. Ist es normales Verhalten? (Ich bekomme dieses Verhalten beim Debuggen auf lokalen Computer mit Google Plugin für Eclipse)
%Vor%Muss ich diese Ausnahme immer so fangen:
%Vor%Oder sind vielleicht alle numerischen Werte nur so lang gespeichert? Muss ich den _integerval-Typ zu lang ändern, um diese Ausnahme zu vermeiden?
Wenn du %code% in deinem Programm benutzen willst, funktioniert das ok:
%Vor%Vergewissern Sie sich immer noch, dass die Zahl in den int-Bereich (hier ) gelangt ).
Erstellen Sie eine neue Ganzzahl:
%Vor%Benutze %code% anstelle von %code% beim Casting.
%Vor%Bearbeiten:
Folgendes ist in der setProperty API.
Da der Wert im Datenspeicher gespeichert wird, wird er in den Datenspeicher des Datenspeichers Dies kann eine Verbreiterung, z. B. eine Konvertierung, umfassen ein kurzer zu einem langen.
So werden Ihre int -Daten in den Datentyp des Datenspeichers als %code% konvertiert. Cast mit %code% oder %code% .
Integer-Werte werden als Long gespeichert, sodass die App-Engine immer Long zurückgibt, ich war selbst verwirrt, aber dann habe ich dies
Wie in der offizielle Dokumentation
Da der Wert im Datenspeicher gespeichert wird, wird er in den Datenspeicher des Datenspeichers Dies kann eine Verbreiterung, z. B. eine Konvertierung, umfassen ein kurzer zu einem langen.
Also
Holen Sie sich Long und verwenden Sie .intValue ()
%Vor%