У меня есть класс, как таковой:
private class verifierListener implements SerialPortEventListener {
String outBuffer;
char charBuffer;
public void serialEvent(SerialPortEvent event) {
if (event.isRXCHAR()) {//If data is available
timeOut = 1000;
lastReadTimer = System.currentTimeMillis();
if (event.getEventValue() > 0) {//Check bytes count in the input buffer
try {
byte[] buffer = verifierPort.readBytes(event.getEventValue());
//INSERT CODE HERE
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
С двумя возможными способами реализации (в области INSERT CODE HERE
)
Случай A:
outBuffer = new String(buffer);
bfrFile.print(outBuffer);
sysOutWriter.append(outBuffer);
Случай B:
for(byte bt : buffer) {
charBuffer = (char) bt;
bfrFile.print(charBuffer);
sysOutWriter.append(charBuffer);
}
И скомпилируйте, и запустите, и сделайте то, что они должны делать.Но я стараюсь, чтобы этот код работал как можно более плавно, поэтому я не могу рисковать потерей передаваемых данных на младшем ПК.
Я предполагаю, что у случая А будет больше накладных расходов.из-за инициализации String, но я хотел убедиться, прежде чем удалить его.
Можете ли вы сказать, какой из них будет чище, и / или как определить стоимость обработки для каждого?