Zu viele Color-Objekte

Hallo,

wenn man in Java etwas farbig darstellen will, muss man immer ein Color-Objekt erzeugen. Wenn sich nun die Farbe permanent ändert, müsste ich ja dauernd neue Color-Objekte erzeugen. Ist das nicht ineffizient, da ich so viele Objekte habe ? Gibt es da eine andere Möglichkeit ?
Könnte es sein, dass das Color-Objekt ein Fliegengewicht-Objekt ist (dann wäre es nicht so schlimm) ?

Danke.

MfG,

Tristan.

Hallo,
man kann so eine Art „relativiertes Singleton“ bauen. Relativiert im Sinne, daß es zwar durchaus mehrere Color Objekte geben kann aber nur eins, pro Konstruktorargumente. Bsp. für via new Color(int r,int g,int b) erzeugte Objekte.

...
private static Map instances\_=new HashMap();

public static Color getInstance(int r,int g,int b)
{
 Object key=getKey(r,g,b);

 Color instance=instances\_.get(key);

 if (instance==null)
 {
 instance=new Color(r,g,b);
 instances\_.put(key,instance);
 }

 return instance;
}

private static Object getKey(int r,g,b)
{
 return Arrays.asList(new Integer[] { new Integer(r), new Integer(g), new Integer(b) });
}
...

Gruss
Enno