9
votes

Calling SetProperty avec Int mais GetProperty retourne longtemps sur Google App Stockage persistant

Lorsque vous utilisez ce code avec DatasterService, je reçois la classeCastException Long ACNNOT SOIT ÊTRE COULER EN INTEGER EN ADÉENTIENCE. Est-ce un comportement normal? (Je reçois ce comportement lors du débogage sur l'ordinateur local avec le plug-in Google pour Eclipse)

try
{
    ret._integerval = (Integer)ent.getProperty("property1");
}
catch( ClassCastException ex ) {
    Long val = (Long)ent.getProperty("property1");
    ret._integerval = val.intValue(); 
}


0 commentaires

5 Réponses :


6
votes

Utilisez int code> au lieu de entier code> en cas de coulée.

ret._integerval = (int)ent.getProperty("property1");


1 commentaires

Le même. Obtenez JAVA.LANG.CLASSCASTEXCEPTION: Java.Lang.Long ne peut pas être jeté à Java.lang.Integer.



6
votes

Créer un nouveau entier:

Integer property = new Integer(entity.getProperty("propertyKey").toString());


0 commentaires

0
votes

Les valeurs entières sont sauvegardées aussi longtemps, le moteur d'application reviendra toujours longtemps, j'ai été confondu moi-même mais j'ai vu Ceci


0 commentaires

1
votes

Si vous souhaitez utiliser int code> dans votre programme, cela fonctionne correctement:

int i = (int) (long) entity.getProperty(propertyName);


0 commentaires

1
votes

Comme indiqué dans le Documentation officielle

Comme la valeur est stockée dans le magasin de données, elle est convertie en Le type natif de DataSore. Cela peut inclure l'élargissement, tel que la conversion un court à long. p> blockQuote>

SO P>

  • définit comme int mais jeté longuement car pour une raison quelconque, le comportement de magasin de données dans l'environnement local est différent et qu'il stocke également entier. li>
  • Obtenez la longue et utilisez .IntValue () P>

    public int get() {
        return ((Long) entity.getProperty(FIELD)).intValue(); 
    }
    
    public void set(int value) {
        entity.setProperty(FIELD, (long)value); 
    }
    


0 commentaires