Java Sonar lint报告可能为空的点异常
Sonar lint报告for循环中下面的Java代码片段可能出现空点异常: 对于(文件项:folder.listFiles()){ . } 请问有没有ide如何解决这个问题? 方法如下:Java Sonar lint报告可能为空的点异常,java,sonarqube,sonarlint,Java,Sonarqube,Sonarlint,Sonar lint报告for循环中下面的Java代码片段可能出现空点异常: 对于(文件项:folder.listFiles()){ . } 请问有没有ide如何解决这个问题? 方法如下: private ArrayList<String> listFileNamesInFolder(final File folder) { ArrayList<File> fileList = new ArrayList<File>(); ArrayList
private ArrayList<String> listFileNamesInFolder(final File folder) {
ArrayList<File> fileList = new ArrayList<File>();
ArrayList<String> fileNameList = new ArrayList<String>();
for (File fileEntry : folder.listFiles()) {
assertNotNull(fileEntry);
if (fileEntry.isDirectory()) {
listFileNamesInFolder(fileEntry);
} else {
if(fileEntry.getName().endsWith(".csv")) {
fileList.add(fileEntry);
fileNameList.add(fileEntry.getName());
setTestInfo(fileEntry.getName());
}
}
}
return fileNameList;
}
private ArrayList listFileNamesInFolder(最终文件文件夹){
ArrayList fileList=新建ArrayList();
ArrayList fileNameList=新的ArrayList();
对于(文件项:folder.listFiles()){
assertNotNull(文件条目);
如果(fileEntry.isDirectory()){
listFileNamesInFolder(文件条目);
}否则{
if(fileEntry.getName().endsWith(“.csv”)){
fileList.add(fileEntry);
添加(fileEntry.getName());
setTestInfo(fileEntry.getName());
}
}
}
返回文件名列表;
}
文件
中的列表文件
的Javadoc说明它返回:
一个抽象路径名数组,表示中的文件和目录
此抽象路径名表示的目录。阵列将被删除
如果目录为空,则为空。如果此摘要为空,则返回null
路径名不表示目录,或者如果发生I/O错误
由于这可能返回null
,因此您可能希望在迭代数组之前检查此值,以防止出现NullPointerException
异常,如:
File[] fileEntries = folder.listFiles();
if (fileEntries == null) {
// ...
} else {
for (final File fileEntry : fileEntries) {
// ...
}
}
当fileEntries
为null
时,您可以选择抛出异常或返回空列表。文件中listFiles
的Javadoc表示它返回:
一个抽象路径名数组,表示中的文件和目录
此抽象路径名表示的目录。阵列将被删除
如果目录为空,则为空。如果此摘要为空,则返回null
路径名不表示目录,或者如果发生I/O错误
由于这可能返回null
,因此您可能希望在迭代数组之前检查此值,以防止出现NullPointerException
异常,如:
File[] fileEntries = folder.listFiles();
if (fileEntries == null) {
// ...
} else {
for (final File fileEntry : fileEntries) {
// ...
}
}
当fileEntries
为null
时,您可以选择抛出异常或返回空列表。您使用的是哪个版本的SonarLint?问题具体报告在哪里?您使用哪种版本的Sonarint?问题具体报告在哪里?确实有帮助。感谢文件[]fileEntries=文件夹.listFiles();assertNotNull(文件条目);对于(File fileEntry:fileEntries){….}有帮助。感谢文件[]fileEntries=文件夹.listFiles();assertNotNull(文件条目);对于(File fileEntry:fileEntries){….}