This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
Unicode characters are parsed and substituted before the source file is compiled. Your line of code is exactly the same as You need to escape the ? as Henry suggested. Keep in mind that the regular expression escape character has special meaning in Java Strings as well, so you need to escape that one as well.
Henry Wong wrote:The replaceAll() method takes a regex as the first parameter. And the "?" has special meaning in a regex. If you want it to behave as an literal question mark, then you will need to escape it.