私はコードとsonarqubeの下のラインを持っているどのようにして、下の行は常にfalseに評価されるソナーの問題を生成できますか?
が
を「それは常に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
何も '' 'と' 'ヌルです。したがって、条件は真と評価することはできません。 –