我想存储一系列" Strings"在一个单独的类(Constants.java)中用于组织目的。
Constants.java:
...
string formatWithTime = "dd?MM?yyyy HH:mm";
string formatWithoutTime = "dd?MM?yyyy";
List<string> f = new List<string>();
foreach (char c in separators)
{
f.Add(formatWithTime.Replace('?', c));
f.Add(formatWithoutTime.Replace('?', c));
}
string[] formats = f.ToArray();
...
在我的主要应用程序类中,我想从上面调用这些
Main.java:
public static final String qualification1 = "'Priority' = \"" + priority + "\" AND 'Status' = \"In Progress\" AND 'Assignee' = \"" + assigneeInput + "\"";
...
问题是提供给我的Main类的字符串往往有变量,即// Examples to show that these variables are dynamic
String assigneeInput = soapResponseAssignee.getSOAPBody().getTextContent();
String[] priorityList = {"Low", "Medium", "High", "Critical"};
for (String priority : priorityList) {
String qualification = RemedyConstants.qualification1;
String qualification = RemedyConstants.qualification2;
String qualification = RemedyConstants.qualification3;
...
}
或priority
,它们在那里定义。如果我将字符串存储在别处,即Constants.java,我实际上不会使用我想要的字符串。如何在适当的上下文中引用这些变量时提供我想要的字符串?
答案 0 :(得分:2)
使用字符串格式
public static final String qualification1 = "'Priority' = \"%s\" AND 'Status' = \"In Progress\" AND 'Assignee' = \"%s\"";
然后当你想使用它时
String.format(qualification1, "Low", "Alice");
或者在您的课程中添加功能格式
String getQualification1(String priority, String assignee) {
return String.format(qualification1, priority, assignee);
}
答案 1 :(得分:0)
非常简单。不知道为什么它最初没有单击我可以将字符串视为对象属性...
<强> Main.java:强>
String qualification = RemedyConstants.getQualification1(priority, assigneeInput);
<强> Constants.java:强>
public static String getQualification1(String priority, String assigneeInput) {
return "'Priority' = \"" + priority + "\" AND 'Status' = \"In Progress\" AND 'Assignee' = \"" + assigneeInput + "\"";
}