Quote
Code
at edu.colval.javase.spooler.model.PrintJob.toString(PrintJob.java:52)
at edu.colval.javase.spooler.control.PrintManager.main(PrintManager.java:66)
You should tell us what the exception is too....
Quote (Infernaldeath @ Feb 28 2013 07:04pm)
I don't know, looks like I'm doing thing blindly now.
Here's a my re-worked code :
Code
@Override
public String toString() {
String printJobString;
StringBuilder printJobStringBuilder = new StringBuilder();
printJobString = printJobStringBuilder.append("Print Job ID : ").append(jobID).append(" = ").toString();
for (int i = 0; i <= printJob.length; i++) {
printJobString += printJobStringBuilder.append("Print Job Name : ").append(printJob[i].getFileName()).append(" | File Path : ").append(printJob[i].getFilePath()).append(" | File Size : ").append(printJob[i].getFileSize()).append(" kB");
}
return printJobString;
}
use more than one line dude. that's so hard to read. and there's no reason to have a string += that if you have a string builder. you just remove any performance gain.
Code
@Override
public String toString() {
StringBuilder sb = new StringBuilder("");
sb.append("Print Job ID : ");
sb.append(jobID);
for (PrintJob pj : printJob) {
sb.append("Print Job Name : ");
sb.append(pj.getFileName());
sb.append(" | File Path : ");
sb.append(pj.getFilePath());
sb.append(" | File Size : ");
sb.append(pj.getFileSize());
sb.append(" kB\n");
}
return sb.toString();
}
difference between stringbuilder and stringbuffer is performance. one of them is faster, the other is threadsafe.
This post was edited by carteblanche on Feb 28 2013 06:32pm