Gegeben dieser Code:
%Vor%IntelliJ zeigt eine Warnung für die obige Vergleichszeile an:
%Vor%
Die Warnung kann mit einem Kommentar zu der Anweisung unterdrückt werden:
%Vor%
Ok, aber was ist hier so verdächtig?
Wenn ich das Vergleichsfeld auch zu left
oder right
ändere (nur um zu spielen und zu untersuchen), wechselt die Warnung zum zweiten Parameter, zum Beispiel:
%Vor%
Noch einmal, was ist hier so verdächtig? Warum klagen sie über den ersten Parameter für das Feld height
und über den zweiten Parameter für die Felder left
und right
? Was ist die Logik hier?
Wenn Sie die Inspektion in den Einstellungen nachschlagen, lautet ihre Beschreibung wie folgt:
Gibt Zuweisungen und Funktionsaufrufe an, in denen der Name der Variablen steht dem ein Wert zugewiesen ist oder der Funktionsparameter nicht erscheint um den Namen des zugewiesenen Werts zu finden. Zum Beispiel:
%Vor%oder
%Vor%Im Konfigurationsfenster können Sie die Namen angeben, die nicht sein sollten zusammen verwendet: Der Fehler wird gemeldet, wenn der Parametername oder Zuweisungszielname enthält Wörter aus einer Gruppe und den Namen von Die zugewiesene oder übergebene Variable enthält Wörter aus einer anderen Gruppe.
Weil die Signatur von Integer.compare
public static int compare(int x, int y)
ist, wird IntelliJ verwirrt und denkt, dass Sie versuchen, etwas, das semantisch die Höhe repräsentiert, an einen Parameter x
zu übergeben, der wegen seines Namens wahrscheinlich einen horizontalen Offset darstellen sollte / p>
Sie können die Gruppe dieser Namen aus den Inspektionseinstellungen entfernen, um dies zu beheben (oder die Inspektion vollständig zu deaktivieren):
Sie können die Logik hier sehen: Ссылка
Das relevante Stück ist das:
%Vor% x
wird als kompatibel mit width
, left
und right
betrachtet, nicht jedoch mit height
(und umgekehrt).
Tags und Links java intellij-idea