# Prblem, wenn im verschickten Objekt ein Array ist



## Jonleth (14. Sep 2004)

Hallöchen,
Ich hab also ein kleines Progi, bei welchem von mir erstellte Objekte (Unit) zwischen zwei Rechner hin und her geschickt werden. Jetzt hab ich in das Objekt nen Int-Array hinzugefügt und schon bringt er mir, wenn er es schicken will eine InvalidClassException.

Wär nett, wenn ihr euch das mal anschaut und mir vielleicht ne Lösung sagen könnt.


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

public class Unit implements Serializable
{
	public int PosX = 0, PosY = 0;								public String type, player;
	public boolean visible, ESelected;

                public int[] test = {1, 2, 5, 2, 5,  7};    // --> Das Feld, was die Fehler verursacht...
	
	public Unit ()
	{	}
	
	public Unit (String type, String player)
	{
		ESelected = false;
                                visible = false;			
		this.type = type;			
		this.player = player;			
	}
}
```


Schon mal schönen Dank
Jonleth


----------



## Bleiglanz (14. Sep 2004)

ist auf beiden Rechnern die aktuelle .class Datei vorhanden und hast du deine beiden Progs neu gestartet

zum Deserialisieren musst du natürlich die gleiche .class verwenden!


----------



## meez (14. Sep 2004)

Bleiglanz hat gesagt.:
			
		

> zum Deserialisieren musst du natürlich die gleiche .class verwenden!



Yep...Und das ist auch die einzige Situation, wo eine solche Exception entstehen kann...


----------



## Guest (14. Sep 2004)

Schau Dir auch das Programm "serialver" im jdk##/bin Verzeichnis an.
Serialisierbare Objekte ohne serialVersionUID machen viel Stress,
wenn man sie neu compiliert. 
Sowas sollte in Deiner Klasse drin stehen

static final long serialVersionUID = 1606721444988077980L;


----------



## Jonleth (15. Sep 2004)

Habt dank,
habs so ausprobiert und es klappt natürlich. Ich selbst wär wahrscheinlich so schnell nicht drauf gekommen... gut dass es dieses Forum gibt!!!

farewell


----------

