J'ai un tableau que j'ai créé à partir d'une base de données ResultSet. J'essaye de le sérialiser afin que je puisse l'envoyer au-dessus d'un flux de douille. Pour le moment, je reçois une erreur me disant que le tableau n'est pas sérialisable. Le code que j'ai est en dessous, la première partie est la classe pour créer un objet pour le tableau:Sérialiser un groupe d'objets pour envoyer des sockets
class ProteinData
{
private int ProteinKey;
public ProteinData(Integer ProteinKey)
{
this.ProteinKey = ProteinKey;
}
public Integer getProteinKey() {
return this.ProteinKey;
}
public void setProteinKey(Integer ProteinKey) {
this.ProteinKey = ProteinKey;
}
}
Le code pour remplir le tableau:
public List<ProteinData> readJavaObject(String query, Connection con) throws Exception
{
PreparedStatement stmt = con.prepareStatement(query);
query_results = stmt.executeQuery();
while (query_results.next())
{
ProteinData pro = new ProteinData();
pro.setProteinKey(query_results.getInt("ProteinKey"));
tableData.add(pro);
}
query_results.close();
stmt.close();
return tableData;
}
Et le code pour appeler ceci est :
Et le code recieving ceci est:
List dataList = (List) input_stream.readObject();
Quelqu'un peut-il m'aider à sérialiser ce tableau. Tout ce que je peux trouver dans les forums est simple tableaux (par exemple, int []).
J'ai essayé d'ajouter la sérialisable à la classe et le numéro UID, mais j'ai reçu le message d'erreur java.lang.ClassNotFoundException: socketserver.ProteinData
. Est-ce que quelqu'un maintenant pourquoi?
Merci pour toute aide.
Je ne vois aucun tableau dans votre code ... seulement Liste –
si la méthode 'readJavaObject()' est la méthode complète, vous allez avoir d'autres problèmes sur la ligne comme il vous semble utilisent une liste de niveau classe pour renvoyer des résultats pour chaque appel de méthode. –