Ich ging durch die PMD-Regel AppendCharacterWithChar
. Es sagt Vermeiden Sie die Verkettung von Zeichen als Zeichenfolgen in StringBuffer.append.Verwendung von Zeichen anstelle von String für Einzelzeichenwerte in StringBuffer append
StringBuffer sb = new StringBuffer();
// Avoid this
sb.append("a");
// use instead something like this
StringBuffer sb = new StringBuffer();
sb.append('a');
Muss ich diese PMD Regel wirklich? Gibt es einen großen Leistungsunterschied zwischen den folgenden zwei Teilen des Codes?
String text = new StringBuffer().append("some string").append('c').toString();
String text = new StringBuffer().append("some string").append("c").toString();
ist es ein guter Grund für Sie nicht Zeichen als Zeichen zu verketten oder ist es nur Neugier? – xmoex
Ich implementiere PMD-Check für mein Projekt. Es gibt viele Orte, an denen Leute eine einzelne "string" anstelle von "char" in "StringBuffer"/"StringBuilder" append verwendet haben. Ich wollte nur wissen, ob es den Schmerz wert ist, die Verletzung zu korrigieren, die ich bekommen habe, oder sollte ich diese Regel einfach ignorieren. – Zeeshan
so ist der Grund faul? Meiner Meinung nach gibt es keine Entschuldigung dafür, es nicht richtig zu machen :-) Du könntest ein Skript mit regulären Ausdrücken verwenden, um es leicht zu beheben, vielleicht kann deine IDE es für dich tun? https://regex101.com/r/yN3dE2/1 – xmoex