当前位置: 首页 > 面试题库 >

如何从Java反射中获取String字段的值?

农永宁
2023-03-14
问题内容

我有一个具有String字段的对象。我可以通过致电获得该字段:

Field field = someObj.getClass().getField("strField");

我设置了一个Field#set(Object)方法来设置此实例的字段的值,但是各个getter似乎是Field#get(Object),这很奇怪,因为我希望它是Field#get()

如何获取实例的值strField


问题答案:

如果使用java.lang.reflect.Field,则“ setter”为Field.set(Object,Object),“
getter”为Field.get(Object)。在 这两种 情况下,第一个参数都是您要在其上访问字段的实例。



 类似资料:
  • 问题内容: 我有一个方法: 当运行时,我得到如下输出: 现在我该怎样提取实际字符串值入, 使用反射? 问题答案: 看起来您需要引用该类的实例。您可能要调用get和pass的引用,将返回值转换为String。 您可以使用get,如下所示:

  • 现在,有没有可能通过反思来实现这一点呢?

  • 问题内容: 我试图通过反射接收字段值。问题是我不知道字段类型,必须在获取值时确定它。 这段代码会导致以下异常: 无法将java.lang.String字段com .... fieldName设置为java.lang.String 我尝试进行转换,但出现编译错误: 要么 我怎样才能做到这一点? 问题答案: 像之前回答的那样,你应该使用: 有时更喜欢的另一种方法是动态调用getter。示例代码: 还应

  • 问题内容: 我在Java中有一个对象(基本上是VO),但不知道其类型。 我需要获取在该对象中不为null的值。 如何才能做到这一点? 问题答案: 你可以用来获取该类的所有声明的字段。你可以用来获取价值。 简而言之: 要了解有关反射的更多信息,请查看有关该主题的Sun教程。 就是说,这些字段不一定全部代表VO的属性。你希望确定以或开头的公共方法,然后调用它以获取真实属性值。 也就是说,可能会有更优雅

  • 我发现这是一个私人领域,没有直接的方法来获得它。有办法出去吗?我使用jdk7。tks前进。

  • 我有一个方法,它返回字符串类型的字段对象列表。 这个方法应该将所有字符串字段都大写: 问题是:"field.set(...)"不起作用。它应该将值大写并将其设置为该字段的新值,但它不起作用...我如何解决这个问题的任何想法?(PS:在真正的代码中,"something Class.class"被设置为真正的类名...) 正在生成的错误是field.get(this)方法(insdefield.se