Примеры ошибок, обнаруженных с помощью диагностики V6058
V6058. Comparing objects of incompatible types.
OpenIDE
V6058 The 'equals' function compares objects of incompatible types: String, Pattern. Filter.java 112
public final class Filter {
....
@Nullable final private Pattern myPattern;
....
@Override
public boolean equals(Object obj) {
if (obj instanceof Filter) {
Filter filter = ((Filter)obj);
....
return myPattern.pattern().equals(filter.myPattern) // <=
&& myPattern.flags() == filter.myPattern.flags();
}
return false;
}
}
public final class Pattern {
....
public String pattern() {
return pattern;
}
....
}
WildFly
V6058 The 'equals' function compares objects of incompatible types: String, ModelNode. JaxrsIntegrationProcessor.java(563)
// Send value to RESTEasy only if it's not null, empty string, or the
// default value.
private boolean isTransmittable(AttributeDefinition attribute,
ModelNode modelNode) {
if (modelNode == null || ModelType
.UNDEFINED.equals(modelNode.getType())) {
return false;
}
String value = modelNode.asString();
if ("".equals(value.trim())) {
return false;
}
return !value.equals(attribute.getDefaultValue()); // <=
}
Similar errors can be found in some other places:
- V6058 The 'equals' function compares objects of incompatible types: String, ObjectTypeAttributeDefinition. DataSourceDefinition.java(141)
Elasticsearch
V6058 The 'equals' function compares objects of incompatible types: Integer, TimeValue. DatafeedUpdate.java(375)
....
private final TimeValue queryDelay;
private final TimeValue frequency;
....
private final Integer scrollSize;
....
boolean isNoop(DatafeedConfig datafeed)
{
return (frequency == null
|| Objects.equals(frequency, datafeed.getFrequency()))
&& (queryDelay == null
|| Objects.equals(queryDelay, datafeed.getQueryDelay()))
&& (scrollSize == null
|| Objects.equals(scrollSize, datafeed.getQueryDelay())) // <=
&& ....)
}