Ich bin eine PMD Warnung bekommen - UseCollectionIsEmpty und die genaue Nachricht, die er gibt, ist:Wie behebe ich PMD Warnung: UseCollectionIsEmpty?
„Ersatz Anrufe Größe() == 0 (oder Größe() = 0, size()> 0, Größe (!) < 1) mit Aufrufen von isEmpty() "auf der letzten else if
Anweisung.
Mein Problem ist, dass meine Aussage prüft, ob meine ArrayList NICHT leer ist. Aber die PMD-Warnung sagt mir, dass ich es in isEmpty() ändern soll, was ich nicht tun muss. Was ist die Arbeit um das zu beheben?
if (theNeighbors.get(getDirection()) == Terrain.CROSSWALK) {
myDirection = getDirection();
} else if (theNeighbors.get(getDirection().left()) == Terrain.CROSSWALK) {
myDirection = getDirection().left();
} else if (theNeighbors.get(getDirection().right()) == Terrain.CROSSWALK) {
myDirection = getDirection().right();
} else if (myPossDir.size() > 0) {
myDirection = myPossDir.get(random.nextInt(myPossDir.size()));
} else {
myDirection = getDirection().reverse();
}
Sie es Verlesen. Es geht um die allgemeine Verwendung von 'size()'. Negiere in deinem Fall das 'isEmpty'. – Savior
@PiIlar Wenn durch Negieren 'isEmpty' meinst du' else if (! MyPossDir.isEmpty()) ', bekomme ich eine neue PMD-Warnung darauf" Avoid if (x! = Y) ..; else ..; " wenn ich das tue. – Jasmine
Oh, ja. Ordne sie einfach neu an. Tue das Positive im 'if', mach das Negative im Else. – Savior