Никита Попов Asked:2022-03-08 14:13:34 +0000 UTC2022-03-08 14:13:34 +0000 UTC 2022-03-08 14:13:34 +0000 UTC 如何获取变量名? 772 理论任务:有一个类,每次创建它的对象时,都会将该对象添加到该类的静态ArrayList中。之后,在foreach循环中,遍历对象列表的每个元素并根据输出模板“对象”+ 变量名 在这种情况下如何取变量名? java 1 个回答 Voted Best Answer Elizaveta 2022-03-10T18:41:47Z2022-03-10T18:41:47Z 使用反射并将名称存储在列表中。例如: import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class TestClass { private static List<String> names = new ArrayList<>(); private TestClass className = new TestClass(); private TestClass anotherName = new TestClass(); public static void main(String[] args) { List<Field> fields = Arrays.stream(TestClass.class.getDeclaredFields()) .filter(f -> f.getType().getSimpleName().equals("TestClass")) .collect(Collectors.toList()); fields.forEach(f -> names.add(f.getName())); names.forEach(System.out::println); } } 结论: className anotherName
使用反射并将名称存储在列表中。例如:
结论: