public List<String> getPmFileParentPaths(String rootDir, String[] neTypes) { List<String> pmFileParentPaths = new ArrayList<>(); for (String neType : neTypes) { pmFileParentPaths.addAll(getLocalPmFileRootDirForMe(rootDir, neType)); } return pmFileParentPaths; } public static List<String> getLocalPmFileRootDirForMe(String localRootDir, String neType) { return FileCleanService.PHHOME.stream().map(pm -> getLocalPmFileRootDirForMe(localRootDir, pm, neType)).collect(toList()); } public static String getLocalPmFileRootDirForMe(String localRootDir, String pmHome, String neType) { return String.join(File.separator, localRootDir, pmHome, neType); } 解读一下
时间: 2024-02-29 22:56:40 浏览: 72
这段代码是一个Java方法,接收两个参数:一个是根目录路径rootDir,另一个是一个字符串数组neTypes。方法的作用是返回一个字符串列表,其中包含了所有符合条件的文件的父级目录路径。具体来说,对于neTypes数组中的每个字符串,方法都会调用getLocalPmFileRootDirForMe方法,将返回的字符串列表加入到pmFileParentPaths列表中。最后,方法返回pmFileParentPaths列表。
getLocalPmFileRootDirForMe方法也是一个Java方法,接收两个参数:一个是本地根目录localRootDir,另一个是一个字符串neType。该方法返回一个字符串列表,其中包含了所有符合条件的文件的根目录路径。具体来说,该方法使用了Java 8中的Stream API,将FileCleanService类的PHHOME属性(一个字符串列表)中的每个字符串都传入getLocalPmFileRootDirForMe方法,并将返回的字符串列表收集到一个新的列表中返回。
getLocalPmFileRootDirForMe方法也是一个Java方法,接收三个参数:一个是本地根目录localRootDir,一个是pmHome字符串,另一个是一个字符串neType。该方法返回一个字符串,表示符合条件的文件的根目录路径。具体来说,该方法使用了String.join方法将localRootDir、pmHome和neType以File.separator分隔符连接起来,得到一个字符串表示符合条件的文件的根目录路径,并返回该字符串。
相关问题
public List<String> getPmFileParentPaths(String rootDir, String[] neTypes) { List<String> pmFileParentPaths = new ArrayList<>(); for (String neType : neTypes) { pmFileParentPaths.addAll(getLocalPmFileRootDirForMe(rootDir, neType)); } return pmFileParentPaths; } public static List<String> getLocalPmFileRootDirForMe(String localRootDir, String neType) { return FileCleanService.PHHOME.stream().map(pm -> getLocalPmFileRootDirForMe(localRootDir, pm, neType)).collect(toList()); } public static String getLocalPmFileRootDirForMe(String localRootDir, String pmHome, String neType) { return String.join(File.separator, localRootDir, pmHome, neType); } 写UT
针对这段代码,可以写出如下的UT:
```
@Test
public void testGetPmFileParentPaths() {
String rootDir = "/home/user/pmdata";
String[] neTypes = {"type1", "type2"};
List<String> expectedResult = new ArrayList<>();
expectedResult.add("/home/user/pmdata/pm1/type1");
expectedResult.add("/home/user/pmdata/pm2/type1");
expectedResult.add("/home/user/pmdata/pm1/type2");
expectedResult.add("/home/user/pmdata/pm2/type2");
List<String> result = getPmFileParentPaths(rootDir, neTypes);
assertEquals(expectedResult, result);
}
@Test
public void testGetLocalPmFileRootDirForMe() {
String localRootDir = "/home/user/pmdata";
String pmHome = "pm1";
String neType = "type1";
String expectedResult = "/home/user/pmdata/pm1/type1";
String result = getLocalPmFileRootDirForMe(localRootDir, pmHome, neType);
assertEquals(expectedResult, result);
}
```
这些UT覆盖了代码中的两个方法,分别测试了它们的输入和输出。可以通过运行这些UT来验证代码是否正确。
QStringList转QList<QString>
可以使用以下代码将QStringList转换为QList<QString>:
QList<QString> list = rootDir.toVector().toList();
在这个例子中,我们使用toVector()将QStringList转换为QVector<QString>,然后使用toList()将QVector<QString>转换为QList<QString>。这样就可以将QStringList转换为QList<QString>。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* [QStringList和QList<QString>使用区别和注意事项](https://blog.csdn.net/weixin_51559926/article/details/113869724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* *3* [QStringList(QList<QString>)类型的将QString类型以int和其他类型的排序升序降序](https://blog.csdn.net/qq_40944337/article/details/115895347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文