title: What's an "ignorable character in a Java identifier"
body: <p>I stumbled across this <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html#isIdentifierIgnorable-char-" rel="nofollow noreferrer">doc</a> and wondered what that was all about. Apparently you can have certain control characters inside identifiers and they are ignored:</p>
  
  <pre><code>public static void main(String[] args) throws Exception {
      int dummy = 123;
      System.out.println(d​ummy); // Has U+200B after the `d` before the `u`
  }
  </code></pre>
  
  <p>I couldn't find anything about this in the JLS. IntelliJ IDEA gives an error in the editor saying "dummy" is an undeclared identifier (but nevertheless it compiles and runs). I guess that's an error in IntelliJ? What purpose do these "ignoreable characters" serve?</p>
  
  <p>(Note: StackOverflow seems to remove my control characters from the question)</p>