Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Java serializible

Dobrý den,

mám takovouto třídu

public class RemoteObject implements Serializable {
	private static final long serialVersionUID = 1L;
	
	private Gps gps;
	
	public Gps getGps() {
		return gps;
	}
}

Má implementaci serializable protože ji chci posílat po síti jako object.
A pak mam v ni proměnou typu GPS, ta vypada nějak takto.

public class Gps {
	private final double latitude;
	private final double longitude;
	
	public Gps(double latitude, double longitude) {
		this.latitude = latitude;
		this.longitude = longitude;
	}
	
	public double getLatitude() {
		return latitude;
	}
	
	public double getLongitude() {
		return longitude;
	}
	
	@Override
	public String toString() {
		return (latitude + " " + longitude);
	}
}

Jenže tato třída taky vyžaduje implementaci serializable. Je nějaka možnost jak to zjednodušit či globalně zapsat abych to nemusel cpát do každé třídý kterou chci v tom objeku použít?
Děkuji předem

Předmět Autor Datum
Neviem jak v jave ale vseobecne logicky ak si implemenujes vlastnu metodu pre serializovanie, ktora…
MM.. 28.05.2013 21:56
MM..
Nejde. Musíš použit značkovací rozhraní Serializable. Pak je tu ještě možnost nastavit to celému ba… poslední
MaSo 29.05.2013 07:04
MaSo

Neviem jak v jave ale vseobecne logicky ak si implemenujes vlastnu metodu pre serializovanie, ktora bude poskytovat bajty zaradom, tak nemusi byt kazdy member serializable.
Ak nemas vlastnu metodu tak musi byt kazdy staticky member (t.j. ak ma byt ten member zachovany).

Trochu si uz o tom precital aby si chapal co to je? Prip. googli napr. prvy odkaz na moj google dotaz http://stackoverflow.com/questions/95181/java-seri alization-with-non-serializable-parts

p.s. ona serializacia je dost silne lowlevel vec a programator by mal podla mna chapat do hlbky jak asi jeho objekty vypadaju na lowlevel urovni apod. ak chce robit taketo veci. Z toho totiz vyplyvaju vsetky tie obmedzenia atd
Konkretny priklad/kod/apod ti nedam ptz nerobim v jave, sorry :)

Nejde. Musíš použit značkovací rozhraní Serializable.

Pak je tu ještě možnost nastavit to celému balíčku přes AOP (např. AspectJ), ale kvůli takové hovadiny bych tam knihovnu nepřidával...

Zpět do poradny Odpovědět na původní otázku Nahoru