我想根据条件动态传递文件名。我已经写了下面的代码,但文件名没有得到通过。我想如果条件可能有点问题。
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System","FileName");
//get current timestamp and reformat
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
//define filename
String filename = new String("");
if (orgid == "G"||"ZG"||"S")
{
filename = "N_" + df.format(date) + ".txt" ;
}
if (orgid == "L")
{
filename = "D_" + df.format(date) + ".txt" ;
}
if (orgid == "F"||"IV")
{
filename = "F_" + df.format(date) + ".txt" ;
}
conf.put(key, filename);
return filename;
请让我知道我错在哪里。
1条答案
按热度按时间s8vozzvw1#
几件事:
不要使用
==
来比较字符串是否相等。请改用equals()
方法。==
检查两个对象是否指向相同的内存位置,而String#equals()方法计算对象中的值的比较。不要以这种方式初始化String变量:
String filename = new String("");
。这是一个字符串构造函数调用。你应该做的是:String filename = "";
。你不能以这种方式检查一个特定的变量是否包含多个可能性之一:
如前所述,您需要使用**String#equals()**方法,并与其他可能性进行比较,您需要将每个字符串与变量进行比较,例如:
最好使用**switch**语句,例如: