Ik ben een Registry aan het schrijven. Welke van deze twee opties vinden jullie het beste:
Ik neig zelf naar de eerste, omdat ik de code voor het opvragen van een object daar beter te lezen vind. In het tweede voorbeeld krijg je veel haken. Helaas krijg ik bij de eerste wel een warning (type safety) op de aangegeven regel, die bij mijn weten niet te vermijden is. Ook weet ik niet of er performanceverschil tussen de twee methoden zit.
Java:
1
2
3
4
5
6
7
8
9
| public class Registry { public <T> T get(String name) { return (T) someObject; // warning } } registry.<Car>get("mycar").drive(); |
Java:
1
2
3
4
5
6
7
8
9
| public class Registry { public Object get(String name) { return someObject; } } ((Car) registry.get("mycar")).drive(); |
Ik neig zelf naar de eerste, omdat ik de code voor het opvragen van een object daar beter te lezen vind. In het tweede voorbeeld krijg je veel haken. Helaas krijg ik bij de eerste wel een warning (type safety) op de aangegeven regel, die bij mijn weten niet te vermijden is. Ook weet ik niet of er performanceverschil tussen de twee methoden zit.