当前位置: 首页 > 知识库问答 >
问题:

如何从泛型对象获取值

邬英武
2023-03-14

我对这些字段有以下要求:

付款(类型付款)-

  • 令牌(字符串)
  • 类型(字符串)
  • cvv(字符串

我试图通过request.getPayment(). getParameters()访问字段令牌,但我真的不知道如何使其工作。我发现了一些与反射相关的东西,但我真的不知道它是如何工作的。

我已经尝试了类似的东西,但我仍然不知道如何获取这个字符串“令牌”:

   Field field = org.springframework.util.ReflectionUtils.findField(String.class, "token");
   org.springframework.util.ReflectionUtils.makeAccessible(field);
        
   String token = field.get(request.getPayment().getParameters().????) ????

共有1个答案

汪思博
2023-03-14

如果确定此通用对象中始终包含这些字段,则可以使用强制转换:

class PaymentParameter {
   String token;
   String type;
   String cvv;

   ... // getters & setters or Lombok stuff
}
...
var paymentParameters = (PaymentParameters) request.getPayment().getParameters();

你可以在这里和这里阅读更多关于选角的信息。

请注意,强制转换可以抛出ClassCastException。因此,您必须在代码中包含此情况。

第二个选项是,您的请求是一个JSON字符串,然后您可以使用Jackson将其转换为映射或对象。本主题也涵盖在贝尔东。

 类似资料:
  • 现在,当我在地图上迭代时…我能以某种方式获得每个Class1对象的类型(K,V)吗??

  • 我是Javascript新手,我正试图从包含多个对象的数组中获取id键的值。 通过 for..在循环中,我需要对象的id - 如1,2或3 - 与不同的值进行比较。 我试着这样做: 但是,我这样做了,删除Id值返回未定义。 我想不通为什么返回未定义,我无法解决这个问题。 我希望我能很好地表达自己,对不起我的英语不好。

  • 问题内容: 通常,我见过人们像这样使用类文字: 但是,如果类型是通用类型,例如List,该怎么办?这可以正常工作,但由于应将List参数化,因此发出警告: 那么为什么不添加一个<?>呢?好吧,这会导致类型不匹配错误: 我想像这样的事情会起作用,但这只是一个普通的语法错误: 如何获得Class >静态信息,例如使用类文字? 我可以使用,以摆脱在第一个例子中所造成的非参数使用列表,警告的,但我宁愿不要

  • 问题内容: 我对此进行了扩展,应该可以帮助我在上下文之间传输对象: 现在它返回的对象,我应该将其强制转换为我想要的类,如下所示: 有没有办法避免这种无用的转换,如果我从类的对象调用使其返回类型? 问题答案: 更新: 有关更好的解决方案 与如何在NSManagedObjectSwift扩展中如何创建托管对象子类的实例中类似,这可以使用通用的辅助方法来完成: 请注意,我已将返回类型更改为。 并 没有

  • 我有一个类,它将我的jpa实体转换为到,反之亦然。 当我在方法中进行转换时,返回的是,我需要它是。 是否可以迭代此集合()并获取“to”值? 转炉 转炉生产者

  • 问题内容: 该问题的可接受答案描述了如何在类中创建的实例。这涉及将参数传递给构造函数并从中调用方法。 然后创建的新实例,并传递参数。 如果新类的泛型类型参数不是某个已知类,但它本身是泛型类型参数,该怎么办?假设我还有其他班级,我想从该班级内部创建一个新实例。然后,如果尝试传递,则会收到以下编译器错误: 有没有办法解决? 对我来说触发错误的代码是: 发生错误,是因为我不会写。还有其他传递相同信息的方