System.currentTimeMillis()
returns a primitive long
not a object Long
. So you cannot invoke the longValue()
method or any method on it as primitive cannot be the object of method invocations.
Besides, it is useless to invoke longValue()
as System.currentTimeMillis() returns already a long value.
This is better :
if(System.currentTimeMillis()==finish){
But in fact this condition : if(System.currentTimeMillis()==finish)
could not be true
even if System.currentTimeMillis() == finish
in the while
statement :
while (found<3 && System.currentTimeMillis() < finish) {
Command command = parser.getCommand();
processCommand(command);
}
Because between the end of the while statement and the condition evaluation :
if(System.currentTimeMillis() == finish)
, the time goes on elapsing.
So you should rather use :
if(System.currentTimeMillis() >= finish){