Java 强化不';我认不出兰姆达
死代码:未使用的方法 Fortify将lambda方法检测为未使用。例如:我有下面的方法:Java 强化不';我认不出兰姆达,java,java-8,fortify,Java,Java 8,Fortify,死代码:未使用的方法 Fortify将lambda方法检测为未使用。例如:我有下面的方法:getCountryCode,尽管它在许多地方都使用,但fortify将其报告为未使用的方法 private List<String> getCountryCodeAsList(Map<Long, String> countryData, List<String> nationalityRestriction) { return nationalityRestri
getCountryCode
,尽管它在许多地方都使用,但fortify将其报告为未使用的方法
private List<String> getCountryCodeAsList(Map<Long, String> countryData, List<String> nationalityRestriction) {
return nationalityRestriction.parallelStream().filter(r -> !org.apache.commons.lang3.StringUtils.isBlank(r))
.map(r -> getCountryCode(countryData, r)).collect(Collectors.toList());
}
private String getCountryCode(Map<Long, String> countryData, String r) {
return !org.apache.commons.lang3.StringUtils.isBlank(r) ? countryData.get(Long.parseLong(r)): null;
}
private List getCountryCodeAsList(映射国家数据,列表国家限制){
返回nationalyRestriction.parallelStream().filter(r->!org.apache.commons.lang3.StringUtils.isBlank(r))
.map(r->getCountryCode(countryData,r)).collect(Collectors.toList());
}
私有字符串getCountryCode(映射countryData,字符串r){
return!org.apache.commons.lang3.StringUtils.isBlank(r)?countryData.get(Long.parseLong(r)):null;
}
如何解决这个问题?任何指针?目前,Fortify SCA仅在其可以扫描的使用lambda表达式的语言子集中支持lambda。Fortify SCA实现了一个新的内置分析器,他们称之为高阶分析器来实现这一点,但它只适用于以下语言:JavaScript、Python、Ruby和Swift 因此,对您的问题的简短回答是,在Fortify在其高阶分析器中实现对Java lambda表达式的支持之前,您无法真正做任何事情
我能知道为什么投票被否决吗。在否决投票前给出原因,这有助于该人理解问题的问题。如果你不能给出原因,停止投票,这毫无意义…不知道fortify做了什么,但要澄清问题,哪种方法未使用-
getCountryCodeAsList
或getCountryCode
?getCountryCode被标记为未使用可能是强化的,不适用于java-8?可能会向他们提出问题吗?按照您显示此代码的方式,它已被清楚地使用