【发布时间】:2018-07-16 12:02:54
【问题描述】:
文件Lists_of_values.java:
public class Lists_of_values {
public static List<String> circumstances = new ArrayList<String>(Arrays.asList("Medical", "Maternity", "Bereavement", "Other"));
public static List<String> interruptions = new ArrayList<String>(Arrays.asList("Awaiting results", "Courses not available", "Fieldwork",
"Health reasons", "Internship with stipend", "Other"));
}
文件Main_file.java:
public String getDropdownValues(String lovs) {
String templovList = StringUtils.join(Lists_of_values.lovs, ' ');
return templovList;
}
这是给我的:lovs cannot be resolved or is not a field
有没有办法在此上下文中使用变量作为getDropdownValues 中的参数?这样我就可以打电话给getDropdownValues("circumstances")。
【问题讨论】:
-
如果要传递参数,只需使用
lovs -
看看反射
-
顺便说一句
Arrays.asList也是List -
你可以创建
enums 来保存你的字符串,这样你仍然是类型安全的。或者您可以创建一个Supplier<List<String>>并将其传递给getDropdownValues()。 -
A) 遵循 Java 命名约定。您不要在类名中使用 _ 。 B) 常量应该全部大写 C) 当您有一个常量字符串列表时,只需使用
Arrays.asList("A", "B", "C")创建该列表。当然:那件事应该是最终的。有这么多微妙的低级问题,我想知道您是否真的处于应该开始使用反射的地步。反射是一个高级主题,更重要的是,只有在有充分理由时才使用它。这听起来像是您的设计很糟糕,现在您想使用反射来修复它...
标签: java