如何在其他Java类中存储包含变量的字符串?

时间:2017-05-20 12:10:29

标签: java string

我想存储一系列" 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,我实际上不会使用我想要的字符串。如何在适当的上下文中引用这些变量时提供我想要的字符串?

2 个答案:

答案 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 + "\"";
    }
相关问题