So I was playing around with generics (dont love them because of type erasure - class level is ok method level gets scary) the other day and here are some examples and lessons learned: 1) Method level generics with return types are harder than they look. 2) Wildcards and when to use them confuse me. 3) My code is ugly and I must be missing something but what - who knows. What I wanted was a Singleton class with generic get and put methods (what you put in is what you get out) without the cast. Something that works a little like Collections.emptyList(); The map I was storing my generic stuff in ignore the naming for now: What I wanted to do is something like this: CacheItem<AnItem> someCacheItem = new DateCacheItemImpl<AnItem>(); Cache.getInstance().register(NameCacheItem.class); Cache.getInstance().put(someCacheItem); CacheItem<AnotherItem> anotherCacheItem = Cache.getInstance().get(); p...
The Incident Archive: A blog to store my knowledge on the errors that I fix on a daily basis