toString() is a method available to every Object (it's in Object class). Byte class over-rides it - it returns a
String object representing the byte. So when you do that if clause - toString is called twice and each time returns a String object. Now those string objects will have the same contents. But they will be separate objects. So using == will return false. Using equals() will return true.
Hope this helps,
Kathy