Przechodziłem przez regułę PMD AppendCharacterWithChar
. Podano Unikaj łączenia znaków w łańcuchy w StringBuffer.append.Używanie znaku zamiast łańcucha dla wartości pojedynczego znaku w łańcuchu znaków StringBuffer
StringBuffer sb = new StringBuffer();
// Avoid this
sb.append("a");
// use instead something like this
StringBuffer sb = new StringBuffer();
sb.append('a');
Czy naprawdę muszę to PMD regułę? Czy istnieje duża różnica w wydajności między dwoma następującymi kodami?
String text = new StringBuffer().append("some string").append('c').toString();
String text = new StringBuffer().append("some string").append("c").toString();
istnieje dobry powód, aby nie Concat znaków jako znaków czy to tylko ciekawość? – xmoex
Wdrażam test PMD dla mojego projektu. Istnieje wiele miejsc, w których ludzie użyli pojedynczego 'string' zamiast' char' w 'StringBuffer' /' StringBuilder' append. Chciałem tylko wiedzieć, czy warto zadać mu ból, aby poprawić 295 naruszenie, czy powinienem po prostu zignorować tę zasadę. – Zeeshan
, więc powodem jest leniwy? Moim zdaniem nie ma wymówki, aby nie robić tego we właściwy sposób :-) możesz użyć skryptu z wyrażeń regularnych, aby go łatwo naprawić, może twój IDE może to zrobić dla ciebie? https://regex101.com/r/yN3dE2/1 – xmoex