Reputation: 674
There are some fields:
public class Class1 {
private Map<String,Integer> field1 = new HashMap<String,Integer>();
private int someField = 1;
private int[] myIntArray = new int[]{1,2,3};
private List<ArrayList<String>> words = null;
private ArrayList<String>[] group = (ArrayList<String>[])new ArrayList[4];
private List<List<List<ArrayList<List<List<String>>>>>> lists = null;
}
Is there a simple way to get string representation of each of these (and generally any) types?
Upvotes: 1
Views: 115
Reputation: 37655
Try this:
for (Field field : Class1.class.getDeclaredFields())
System.out.println(field.getGenericType());
Output:
java.util.Map<java.lang.String, java.lang.Integer>
int
class [I
java.util.List<java.util.ArrayList<java.lang.String>>
java.util.ArrayList<java.lang.String>[]
java.util.List<java.util.List<java.util.List<java.util.ArrayList<java.util.List<java.util.List<java.lang.String>>>>>>
Upvotes: 2