gpt4 book ai didi

java - 如何查找java程序中有多少个方法及其名称使用了我的变量?

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:18 26 4
gpt4 key购买 nike

这里是查找我的类中使用了多少变量的示例。但我需要找到有多少方法在类中使用我的变量。

测试类有四个方法,但 test1() 和 test3() 方法中使用了sample1 变量。 我想要输出为 test1(),test2() 使用sample1变量

import java.lang.reflect.Field;

public class Test {

private int sample1;
private int sample2;
private int sample3;

public void test1()
{
System.out.println(sample1);
}
public void test2()
{
System.out.println(sample2);
}
public void test3()
{
System.out.println(sample1);
}
public void test4()
{
System.out.println(sample3);
}

public static void main(String[] args) {

Test t = new Test();

Field f[] =Test.class.getDeclaredFields();
for (int i = 0; i < f.length; i++)
{
System.out.println("Variable Name is : " + f[i].getName());
}
}
}

最佳答案

这有帮助吗?

import java.lang.reflect.Field;
import java.util.*;

public class Main {

private int sample1;
private int sample2;
private int sample3;
private ArrayList<String> whoUseSameple1= new ArrayList<String>();

int getSample1(String methodname){
whoUseSameple1.add(methodname);
return sample1;
}
public void test1(){
System.out.println(getSample1(new Object(){}.getClass().getEnclosingMethod().getName()));
}
public void test2(){
System.out.println(sample2);
}
public void test3(){
System.out.println(getSample1(new Object(){}.getClass().getEnclosingMethod().getName()));
}
public void test4(){
System.out.println(sample3);
}

public static void main(String[] args) {

Main t = new Main();
t.test1();
t.test2();
t.test3();
t.test4();


for (String s:t.whoUseSameple1){
System.out.print(s+" ");
}
System.out.print("are usd Sample1 Variable\n");
// Field f[] =Main.class.getDeclaredFields();
// for (int i = 0; i < f.length; i++)
// {
// System.out.println("Variable Name is : " + f[i].getName());
// }
}
}

关于java - 如何查找java程序中有多少个方法及其名称使用了我的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31472050/

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