gpt4 book ai didi

java - 识别有效的 getter 和 setter

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:47:57 25 4
gpt4 key购买 nike

我有一个要求,比如扫描一个 java(POJO) 文件目录,遍历其中的每个文件,找出那些 POJO 中定义的相应变量,并检查它是否具有正确的 getter 和 setter 名称。例如:- 如果 empName 是变量名,那么它的 getter 应该是 getEmpName() 而不是 getempName()

这是因为我们很久以前构建的 J2EE 应用程序开始失败,因为使用了前端技术无法识别的无效 getter 和 setter。

我做了一个基本的程序,可以在其中确定这一点。我的确切问题是我可以在什么基础上识别一行中的变量。在我的逻辑中,我假设包含 private 关键字的行中的第三个单词将是变量名。只是想知道这种方法是否正确,或者我是否需要尝试不同的方法,因为看起来要求非常通用。

最佳答案

尝试自己扫描源文件会很痛苦,并且涉及很多边缘情况等。

例如,变量上的限定符可以是任意顺序,可以有多个。数组括号可以在变量名之前或之后,变量可以初始化也可以不初始化等。有些可能被注释掉或在内部类中。

最好的方法是使用反射并使用它扫描对象。

反射允许运行 Java 代码来了解自身。您可以编写一个小程序并添加代码以作为该程序的库进行扫描。然后程序可以扫描这些 Jar 中的类,并针对每个类使用反射来查询其中的方法和变量列表。

http://docs.oracle.com/javase/tutorial/reflect/

关于java - 识别有效的 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20968325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com