Bonjour à tous, je travaillais avec Memcache, et quand j'ai compilé ce code, j'ai eu des erreurs suivantes. J'ai réussi à le réparer avec la conversion de la classe d'utilisateurs, mais ± ne veux pas utiliser méthode de tostring.Je veux simplement utiliser ma classe pour ajouter et obtenir des mwethods. Comment puis-je résoudre ce problème?
Voici le code que j'utilise. P> public class User {
public static String userKey = "UserDB";
public static int userID ;
public static String userName;
public static String password;
public static String ipAddress;
public static String isOnline;
public static String lastActive;
public User(int userID, String userName, String password, String ipAddress,String isOnline,String lastActive)
{
this.userID = userID;
this.userName = userName;
this.password = password;
this.ipAddress = ipAddress;
this.isOnline = isOnline;
this.lastActive = lastActive;
}
@Override
public String toString() {
System.out.println(this.userID);
System.out.println(this.userName);
System.out.println(this.password);
System.out.println(this.ipAddress);
System.out.println(this.isOnline);
System.out.println(this.lastActive);
return super.toString();
}
}
3 Réponses :
mis à jour en raison de la modification de la question.
Donc, votre classe d'utilisateurs doit mettre en œuvre le Serializable . Espérons que c'est aussi simple que l'écriture p> comme sérialisable ne contient aucune méthode. P> p>
Désolé pour la classe. J'ai ajouté la classe d'utilisateurs comme vous l'avez dit.
MemCache ne sait pas comment sérialiser vos objets. Vous devrez implémenter sérialisable code> pour avoir java gérer la série de sérialisation, ou
externalisable code> si vous avez besoin de plus de contrôle sur le processus de sérialisation (DE). P>
Qu'est-ce que je dois mettre en œuvre dans la méthode sérialisable exactement?
Vous devez implémenter l'interface Serializable code>:
utilisateur de la classe publique implémente sérialisable {} code>. L'interface n'est qu'un marqueur qui indique au mécanisme de sérialisation que la classe code> utilisateur code> peut être sérialisée. La sérialisation réelle est effectuée automatiquement, vous n'avez donc pas à mettre en œuvre des méthodes.
En outre, la raison pour laquelle l'application de tostring () a fonctionné en premier lieu est que la chaîne est sérialisable, c'est-à-dire qu'elle peut être convertie en bytecode et à nouveau.
@Niels Vous devriez éditer votre réponse (de votre commentaire).
Ce problème arrive car, JVM n'est pas en mesure d'obtenir des objets sérialisés en raison du conflit dans le schéma. Dans mon cas, l'ID de version série de certaines classes est défini 1L par défaut. Ces cours sont corporellement à chacun. J'ai assigné une valeur personnalisée unique. Mon problème résolu. p>