微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以将类存储在Java中的变量中?

如何解决是否可以将类存储在Java中的变量中?

我正在尝试做类似的事情:

class test {
  Class c;
  c[] array = new array[0];

  test(Class c_) {
   c = c_;
  }
}

这样一来,它就可以普遍使用,并且无论我在类测试中添加的类如何工作。我已经尝试过这种确切的方法,但是它似乎没有用。有什么办法可行吗?如果这有任何意义,我也正在使用IDE处理。

解决方法

是的,不是。是的,可以动态创建一个数组,但是不能使用您的语法(并且您应该使用通用类型)。另外,请注意Java数组的长度是固定的(因此零元素数组不是很有用)。 Java类名以大写字母开头。像

class Test<T> {
    private T[] array;

    @SuppressWarnings("unchecked")
    Test(Class<T> c,int len) {
        array = (T[]) Array.newInstance(c,len);
    }

    public void set(int p,T v) {
        array[p] = v;
    }

    public T[] getArray() {
        return array;
    }
}

然后是使用它的基本演示,

public static void main(String[] args) {
    int size = 5;
    Test<String> t = new Test<>(String.class,size);
    for (int i = 0; i < size; i++) {
        t.set(i,String.valueOf(i));
    }
    System.out.println(Arrays.toString(t.getArray()));
}

输出

[0,1,2,3,4]
,
  • 类是创建对象的蓝图
  • 它在内存中没有物理存在
  • 其实例具有可以存储的存在
  • 因此,如果类在内存中不存在,则无法将其保存在 变量

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。