Skip to content

Instantly share code, notes, and snippets.

@joshskeen
Created February 24, 2015 18:33
Show Gist options
  • Save joshskeen/6a87703f57c705ec4cd1 to your computer and use it in GitHub Desktop.
Save joshskeen/6a87703f57c705ec4cd1 to your computer and use it in GitHub Desktop.
generic type resolution
//experiment: can i determine the types of the generic parameters?
class StringIntMap extends HashMap<String,Integer> { }
TypeResolver typeResolver = new TypeResolver();
ResolvedType type = typeResolver.resolve(StringIntMap.class);
List<ResolvedType> mapParams = type.typeParametersFor(Map.class);
ResolvedType keyType = mapParams.get(0);
ResolvedType valueType = mapParams.get(1);
System.out.println("generic key type: " + keyType);
//generic key type: java.lang.String
System.out.println("generic valueType type: " + valueType);
//generic valueType type: java.lang.Integer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment