Java 从构造函数中通过反射提取参数类型
我试图使用getParameterTypes方法从java.lang.reflect.Constructor对象中提取参数类型 构造函数如下所示:Java 从构造函数中通过反射提取参数类型,java,reflection,Java,Reflection,我试图使用getParameterTypes方法从java.lang.reflect.Constructor对象中提取参数类型 构造函数如下所示: public SearchParameters(boolean doStaticBoosting, boolean doRewrites, boolean doCatalogsFacet, long userId, Filter catalogsFilter, boolean doCatalo
public SearchParameters(boolean doStaticBoosting, boolean doRewrites, boolean doCatalogsFacet, long userId,
Filter catalogsFilter, boolean doCatalogsFilterTypeFacet, boolean doSocialBoosting,
long[] categoryFilteringId)
现在,当我调用此方法时,我得到以下参数类型:
正如您所看到的,最后一个类参数是非常混乱的,定义为
类别[J]
事实上,我希望它是一个长[]类。我需要稍后重建此对象,当然,我不能仅根据我获得的参数信息进行重建。这是长[]类的名称。请尝试以下操作:
long[] longs = {1L, 2L};
System.out.println("Name is: " + longs.getClass().getName());
这张照片是:
Name is: [J
您可以从长[]类的名称。中获取所有基元数组类的名称。请尝试以下操作:
long[] longs = {1L, 2L};
System.out.println("Name is: " + longs.getClass().getName());
这张照片是:
Name is: [J
您可以从.中获取所有基本数组类的名称,这一点都不混乱。这只是long[]的字符串表示形式。类:
除非您真的需要以某种方式保留字符串表示形式,否则您应该将值作为一个类保留下来,一切都应该很好。这一点都不混乱。这只是long[]的字符串表示形式。类: 除非您真的需要以某种方式保留字符串表示形式,否则您应该将值作为一个类保留下来,一切都应该很好。Class[J是long[].Class的名称。请签出 此外,您可以使用此名称创建long[].class的实例,请参阅:class[J是long[].class的名称。请签出 此外,您还可以使用此名称创建long[]类的实例,请参见: