Java でもa == 1 && a == 2 && a == 3でtrueって出力させたいに対するシンプルかつインチキなアンサー
public class AmazingEqualEqualOperator {
public static void main(String[] args) {
int a=1,a=2,a=3;
if (a == 1 && a == 2 && a == 3) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
目に見えないが変数に使える文字がある。
ここでは 双方向テキストで用いられる制御文字 U+202C Pop directional formatting (PDF) を用いている。つまり、int a と a¥u202C と a¥u202C¥u202C の3種類の見た目が同じ変数を使い分けているだけ。
Character.html#isJavaIdentifierStart(char)
Character.html#isJavaIdentifierPart(char)
を用いることで、Javaの識別子の先頭に用いれる文字か、Javaの識別子の2文字目移行に用いれる文字かを判別することができる。