Salve ragazzi avrei bisogno di aiuto.
Lavorando su un progetto dopo averlo mandato su kiuwan per avere un riscontro sulla qualità, è presente questo difetto:
Avoid using StringBuffer to store a String that is never modified.
Via allego una porzione di codice nella quale è presente il problema:
codice:
private void runScript(Connection conn, Reader reader) throws IOException,
SQLException {
StringBuffer command = null;
try {
LineNumberReader lineReader = new LineNumberReader(reader);
String line = null;
while ((line = lineReader.readLine()) != null) {
String trimmedLine = line.trim();
doTrimmedLine(command, trimmedLine);
if (doTrimmed(trimmedLine)) {
} else if (full(trimmedLine)) {
Pattern pattern = Pattern.compile(DELIMITER_LINE_REGEX);
Matcher matcher = pattern.matcher(trimmedLine);
if (matcher.matches()) {
setDelimiter(trimmedLine
.split(DELIMITER_LINE_SPLIT_REGEX)[1].trim(),
fullLineDelimiter);
line = lineReader.readLine();
if (line == null) {
break;
}
trimmedLine = line.trim();
}
command.append(line.substring(0,
line.lastIndexOf(getDelimiter())));
command.append(" ");
PreparedStatement statement = conn.prepareStatement(null);
boolean hasResults = false;
doStatement(hasResults, statement, command, conn);
ResultSet rs = statement.getResultSet();
String sb = new String();
doResult(hasResults, rs, sb);
command = null;
doStackTrace(rs, statement);
} else {
Pattern pattern = Pattern.compile(DELIMITER_LINE_REGEX);
Matcher matcher = pattern.matcher(trimmedLine);
if (matcher.matches()) {
setDelimiter(trimmedLine
.split(DELIMITER_LINE_SPLIT_REGEX)[1].trim(),
fullLineDelimiter);
line = lineReader.readLine();
if (line == null) {
break;
}
trimmedLine = line.trim();
}
command.append(line);
command.append(" ");
}
}
}
private void doTrimmedLine(StringBuffer command, String trimmedLine) {
if (command == null) {
command = new StringBuffer();
}
if (trimmedLine.startsWith("--")) {
}
}
In che modo potrei risolvere il problema?? Grazie...