So erhalten Sie string.format, um sich zur Kompilierungszeit zu beschweren

8

Der Compiler hat Zugriff auf die Formatzeichenfolge UND die erforderlichen Typen und Parameter. Also nehme ich an, dass es einen Weg geben würde, fehlende Parameter für die Varargs anzugeben ... selbst wenn nur für eine Teilmenge von Fällen. Gibt es eine Möglichkeit für Eclipse oder eine andere Idee, um anzuzeigen, dass die übergebenen Varargs zur Laufzeit ein Problem verursachen könnten?

    
mafalda 17.01.2011, 21:38
quelle

2 Antworten

10

Es sieht so aus, als ob FindBugs Ihr Problem lösen kann. Es gibt einige Warnkategorien, die sich auf Formatstrings beziehen.

Roland Illig 17.01.2011, 22:16
quelle
1

Der Java-Compiler verfügt über keine integrierten semantischen Kenntnisse der StringFormat-Parameter, sodass er diese zur Kompilierungszeit nicht überprüfen kann. Für alle, die wissen, ist StringFormat nur eine andere Klasse und String.format ist nur eine andere Methode, und die angegebene Formatzeichenfolge ist nur eine andere Zeichenfolge wie jede andere.

Aber ja, ich fühle deine Schmerzen, nachdem ich in den letzten paar Tagen auf dieselben Probleme gestoßen bin. Was sie hätten tun sollen, ist, die Anzahl der Parameter "weniger vorsichtig" zu machen und nur die nachgestellten% s Marker nicht ersetzt zu lassen.

    
jk. 17.01.2011 21:46
quelle

Tags und Links