【发布时间】:2019-09-03 08:43:49
【问题描述】:
我有一个问题。我最近开始研究 Java,想知道是否可以选择这样的列表属性
列表[“属性”]?我想要这个,因为我有一个列表并且想给一个方法一个属性,这样我就可以动态地选择列表属性的值。
这有可能吗?如果没有,我怎样才能最好地解决这个问题?
编辑: 我正在尝试提出随机问题,并且我想将这段代码放入一个方法中,这样我就不必复制粘贴我的代码了。
question = generateQuestion("Is he older than * years old?", attributes.age);
System.out.println(question.get("question"));
input = br.readLine();
var attribute1 = question;
var isOlder = input.contains("yes");
list = list.stream().filter(person -> (person.age > Integer.parseInt(attribute1.get("attributeName"))) == isOlder).collect(Collectors.toList());
如您所见,我使用列表流,在该列表流中我有 person.age,但我希望“.age”部分是动态的。
【问题讨论】:
-
Java 是一种静态类型语言,您必须避免将其视为动态类型语言。可以动态访问字段,但这通常不是明智的选择。您应该考虑一种不同的设计(包括预先决定要与哪些属性进行比较)。