Java 字符串到字符串数组的转换
我使用的是DBUnit,我遇到了字符串到字符串数组转换的问题。我正在通过Java 字符串到字符串数组的转换,java,dbunit,Java,Dbunit,我使用的是DBUnit,我遇到了字符串到字符串数组转换的问题。我正在通过@DatabaseSetup注释传递数据集文件位置。接下来,将此位置传递给从AbstractDataSetLoader扩展而来的加载程序(源代码:)。 在这个类中存在一个方法 public IDataSet loadDataSet(Class testClass, String location) throws Exception { ResourceLoader resourceLoader = getResour
@DatabaseSetup
注释传递数据集文件位置。接下来,将此位置传递给从AbstractDataSetLoader
扩展而来的加载程序(源代码:)。
在这个类中存在一个方法
public IDataSet loadDataSet(Class testClass, String location) throws Exception {
ResourceLoader resourceLoader = getResourceLoader(testClass);
String[] resourceLocations = getResourceLocations(testClass, location);
for (String resourceLocation : resourceLocations) {
Resource resource = resourceLoader.getResource(resourceLocation);
if (resource.exists()) {
return createDataSet(resource);
}
}
return null;
}
公共IDataSet loadDataSet(类testClass,字符串位置)引发异常{
ResourceLoader ResourceLoader=getResourceLoader(testClass);
字符串[]resourceLocations=getResourceLocations(testClass,location);
for(字符串resourceLocation:resourceLocations){
Resource=resourceLoader.getResource(resourceLocation);
if(resource.exists()){
返回createDataSet(资源);
}
}
返回null;
}
调用getResourceLocations方法(此方法在同一类中实现)
受保护字符串[]getResourceLocations(类testClass,字符串位置){
返回新字符串[]{location};
}
带位置参数(这是我在
@DatabaseSetup
中指定的参数)。我认为以这种方式声明的数组总是必须只包含一个元素,但在loadDataSet
方法中,我看到了从getResourceLocations
获得的数组上的迭代。问题是,getResourceLocations能否返回包含多个元素的数组 问题并不完全清楚,一个数组可以包含多个实例,但为此,它需要存在多个实例。除非您可以从testClass中获取更多字符串,或者将位置
字符串拆分为多个实例,否则您只能使用一个字符串。如果希望字符串数组输出多个实例,可以使用类似于returnnewstring[]{location1,location2}如果你的问题只是简单的“可能吗”,那么是的,这就是数组的定义。它可以包含所表示对象的多个实例(本例中为字符串
)
protected String[] getResourceLocations(Class testClass, String location) {
return new String[] { location };
}