相关疑难解决方法(0)

什么是原始类型,为什么我们不应该使用它?

问题:

  • 什么是Java中的原始类型,为什么我经常听说不应该在新代码中使用它们?
  • 如果我们不能使用原始类型,它有什么替代方案,它是如何更好的?

java generics raw-types

617
推荐指数
13
解决办法
20万
查看次数

java:unchecked调用getConstructor(java.lang.Class <?> ...)

我使用反射来构造一个以File作为参数的类(ConfigBuilder):

Class myClassType = Class.forName(className);
Class[] types = new Class[] { File.class };
Constructor cons = myClassType.getConstructor(types);
Object[] constructorArgs = new Object[] { myFile };
cb = (ConfigBuilder) cons.newInstance(constructorArgs);
Run Code Online (Sandbox Code Playgroud)

但我得到这个警告:

warning: [unchecked] unchecked call to getConstructor(java.lang.Class<?>...) as a member of the raw type java.lang.Class
Constructor cons = myClassType.getConstructor(types);
Run Code Online (Sandbox Code Playgroud)

显然,似乎getConstructor期望一个泛型类型,所以我尝试了类似的东西:

Class<?>[] types = new Class<?>[] { File.class };
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的警告信息

任何的想法 ?

大卫

java reflection

16
推荐指数
2
解决办法
7343
查看次数

标签 统计

java ×2

generics ×1

raw-types ×1

reflection ×1