问题标签 [reflections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
306 浏览

java - AWS Lambda 和 Java 反射 (Guava)

我正在尝试在我的 AWS Lambda 函数中运行Guava反射,但它似乎在生产中不起作用..

我试图运行的代码应该Map<String, Class>使用类名和类创建一个。

代码:

在本地运行此代码可以完美运行,但在 lambda 上运行它会在地图为空的情况下返回错误。
Key PaginationConverter is missing in the map.: java.util.NoSuchElementException

有没有其他人遇到过这个问题?

0 投票
1 回答
1027 浏览

java - Guava Google 在 Java 中使用反射

我正在尝试在我的 Java 项目中使用反射(也使用 Spring boot),并且我必须获取实现接口的包的所有类。

但它总是返回这个错误。

我尝试导入 google.guava 包以避免此错误,并修复它,但我不想导入它,因为它是一个在我的项目中没有使用的包。

关于如何避免此错误的任何想法?

0 投票
0 回答
132 浏览

java - 反射库,无法在我的包中找到任何类

我正在尝试使用反射库来访问我项目中包内的类。根据以下问题的建议。

您可以使用反射找到包中的所有类吗?

运行我的方法时,会显示我的 set 0 上的 size()。

我还尝试根据其他问题中的评论将前缀设置为“” - 仍然显示未找到任何类。

如果有人想知道获取默认包的最简单方法是让前缀为空字符串->“”。

我的包裹名称有问题吗?

0 投票
2 回答
304 浏览

java - 我可以使用 org.reflection 来获取使用通配符的包类吗?

我正在使用

但是通过这种方法,我得到了很多我不需要的包级别的注释......我真正想要的是这样的东西,使用通配符只返回深层包级别。

因为我真正需要的方法是在“.deep”包级别......我尝试了很多与FilterBuilder的组合,然后我不知道我是否做错了什么,或者这对于这个API是不可能的

0 投票
1 回答
122 浏览

java - Java 8,Google Reflections——获取带注释的类型作为注释列表,而不是类

StackOverflow 的人!我正在构建一个游戏,即 Volts of Doom,用户可以在其中编写自己的 mod 并将其放入一个文件夹中,然后将其加载到游戏中(类似于 Minecraft Forge 之类的东西,除了这个游戏是为改装而设计的) .

使用 @Mod 注释声明 mod(见下文)。目前,我可以在正确的 /mods/ 目录中找到 jar 文件,然后可以找到带有 @Mod 注释的类。当我尝试从类的 @Mod 注释中读取 modid 时,就会出现问题。

我正在使用 Google Reflections,它的getTypesAnnotatedWith(Annotation.class)方法返回一个Set<Class<?>>带注释的类,但由于元素是 type Class<?>,而不是 type @Mod,我无法访问那个必要的值。

当我尝试检索 modid 或将类转换为可以访问 modid 的格式时,如果我得到的只是编译器错误和 ClassCastExceptions,我该如何检索该值?我理解为什么会发生异常(不能将超类转换为子类等),但我找不到解决方案....有什么想法吗?

我将提供一个我目前正在使用的无效代码示例。

0 投票
1 回答
54 浏览

java - 如何动态转换 Java 对象

我有以下方法:

但是,我不能真正将 queryGetter 转换为所需的类别

继承树如下所示:

然后是具体的类(仅适用于 PortalCorp,Portal365 也是如此):

但是我在线上遇到不兼容的类型错误:

我如何以这样的方式实现所需的行为,如果我执行

DDLTool.isOracle()返回真

我最终会得到com.dpd.modules.OracleQueryGetterPortalCorp?

提前致谢

0 投票
2 回答
41 浏览

java - 用于对象构造的异常语法

我是 Java 编程新手。在阅读一个开源项目的代码时,我遇到了一行我无法理解的代码:

final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType();

我的问题是:

  1. 我通常这样调用构造函数:final Type typeOfMap = new TypeToken<Map<String, Object>>(). 我从未见过它后面跟着其他代码,例如{}.getType(). 这是什么语法?
  2. {}对象吗?为什么可以在上面调用一个函数?

PSTypejava.lang.reflect.Type,而且TypeTokencom.google.gson.reflect.TypeToken

0 投票
1 回答
134 浏览

java - 使用带有持久性单元的反射搜索 java 类

我想使用带有持久性单元的反射来搜索 Java 类。现在我正在使用带有包名的搜索

0 投票
1 回答
186 浏览

java - 通过注解查找匿名类

有没有办法通过一些带有一些java反射库的注释来查找匿名类,比如(反射)?

我有这段代码: 它使用声明一个内部类(扩展对象)并用@DemoAnnotation

现在我想在我的项目中找到所有(匿名)类都用@DemoAnnotation.


我尝试了反射库:但它似乎找不到匿名类(找到了内部静态类)。


@chrylis -cautiouslyoptimistic:javap 反编译器输出DemoUsageService$1 看起来像那里的注释。

0 投票
2 回答
186 浏览

java - 如何在运行时在 Scala/Java 中找到带注释的方法

我想将运行时反射与 Scala 注释一起使用(如果需要,也可以是 Java 注释,但我更愿意限制纯 Java 代码)

我想实现类似的东西:

例如,如果我有:

运行的结果getAllAnnotated()是这样的:

请注意,我不想查看特定的类,而是查看任何可用的方法