У меня есть следующие строки кода и sonarqube говорит,Как нижняя строка может генерировать информацию о сонар-qube, которая всегда оценивает значение false?
«Изменить это состояние так, что она не всегда оценивать ложь»
.
Ниже приведена строка.
if (params.isEmpty() && params == null) {
throw new ServiceSDKException("Parameters cannot be empty or null!");
}
Ниже приведен полный метод в случае необходимости.
public void init(String params) throws ServiceSDKException {
if (params.isEmpty() && params == null) {
throw new ServiceSDKException("Parameters cannot be empty or null!");
}
String[] configParams = params.split(",");
options.setMqttURL(configParams[0]);
options.setMqttClientID(configParams[1]);
try {
options.setWillMessage("v1/items/mqtt/0/event/will"
, "Last will"
, 2, true);
new File("./db").mkdir();
edgeNode = EdgeNodeFactory.createMQTTChannel("./db", options,
subscriptionTask, 500, 500);
isClientConnected = true;
} catch (EdgeNodeException e) {
isClientConnected = false;
throw new ServiceSDKException("EdgeNodeException occurred", e);
}
}
Если params равно null, вы получите исключение NullPointerException. Сначала вы должны сначала проверить значение null, а затем isEmpty() с помощью или операции (||) – JDDelgado
Ничто не является как '' '' и 'null'. Таким образом, условие никогда не может считаться истинным. –