java - 使用 Class.forName 创建静态数组

标签 java android static-array

在 Android 中,有一个名为“android.graphics.FontFamily”的未声明(隐藏)类,我想创建它的静态数组。任何类似这样的事情:

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

构建这个假设的代码:

FontFamily[] families = {fontFamily};

我该怎么做?

谢谢。

最佳答案

您应该能够反射性地创建一个数组,然后获取它的类。示例:

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

关于java - 使用 Class.forName 创建静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37640018/

相关文章:

java - 如何纠正 java 中的 For Each 循环(最终测试的输出不正确)?

使用for循环的Java简单登录系统

java如何在整数左填充0

arrays - 如何在 Delphi 中公开私有(private)静态数组字段的内置枚举器?

c++ - 使用#define 来定义静态数组的大小是否合法?

java - JScrollPane 内 JPanel 上的鼠标坐标偏移

android - 从 Firebase 自动发送通知

安卓画廊项目选择器

android - 如何以编程方式获取 Android 设备联系人列表中其他电话号码的服务提供商名称?

c - 链接外部静态结构数组无法正常工作