Search code examples
javaandroidstatic-array

Create static array using Class.forName


In Android there is a undeclared (hidden) class named "android.graphics.FontFamily" and I want to create static array of it. Any thing like this:

Class<?> clazz = Class.forName("android.graphics.FontFamily"); // Ok.
Class<?> clazz_array = Class.forName("android.graphics.FontFamily[]"); // Method threw 'java.lang.ClassNotFoundException' exception.

To build this hypothetical code:

FontFamily[] families = {fontFamily};

How can I do it?

Thankyou.


Solution

  • You should be able to create an array reflectively then get its class. Example:

    Class <?> clazz = Class.forName("android.graphics.FontFamily");
    Object fontFamily = clazz.newInstance();
    Object families = Array.newInstance(clazz, 1);
    Array.set(families, 0, fontFamily);