可以使用反射访问方法变量吗?

时间:2009-05-26 11:11:49

标签: java reflection

如何使用反射访问方法内定义的变量?

我必须在Hibernate中创建标准。数据库是基于属性的。

考虑一部电影。电影可以有多种语言和多种类型。 例如

Movieid           Property           Value
1                 Language           Hindi
1                 Language           English
1                 genre              action
2                 genre              comedy

让我们假设有不同电影的一千条记录。用户选择一组流派(动作)和语言(印地语,英语)来过滤结果。现在,我必须按此顺序创建标准: 表达式=(property = english and genre = action)或(property = hindi and genre = action)

对于实现,我必须查找在for循环条件中定义的局部变量。

2 个答案:

答案 0 :(得分:18)

你做不到。如果它在方法中定义,它是仅在该范围中定义的局部变量。由于该方法没有超出其范围的状态,因此无法访问。

访问类成员(根据定义,是一个州),您可以access via "regular" reflection

答案 1 :(得分:1)

我猜这些电影的数据存储在RDBMS中。只需执行一个简单的关系查询即可获得所需的结果。这个问题是人们开发关系数据库管理系统的一个很好的例子。