Very odd behavior of Serial stream

aren't these lines comparing the last char read to the next char that will be read, even if the next char is not available?