This has been discussed before, so if you need more explanation, do a search for 'u\000a'. Basically it is because what does 'u\000a' represent? It is the new line feed. So when the compiler goes through the code, the first thing it does is replace all the unicode with the literal meaning, so you replace 'u\000a' with a line feed. Then you get: char a = ; which won't compile. Bill
I read in the JLS, that the unicode escape sequence based char literals are processed at the earliest. So that's why '\u000a' is processed immediately and the ; in the end is taken to the next line. Bye, Tualha Khan