If it is ok to exploit the question a little bit, then I will add some new Java. The trick is for sure not new, but perhaps interesting that this is possible in Java. static void pleaseDoNotDoThis() throws Exception { Field field = Boolean.class.getField("FALSE"); field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, true); } public static void main(String args[]) throws Exception { pleaseDoNotDoThis(); doit(1); doit("NO"); doit(null); doit(Math.PI); } static void doit(long x) { System.out.format("(x == x + 2) = (%d == %d) = %s\n", x, x+2, (x == x + 2)); } static void doit(String x) { System.out.format("(x == x + 2) = (%s == %s) = %s\n", x, x+2, (x == x + 2)); } static void doit(double x) { System.out.format("(x == x + 2) = (%f == %f) = %s\n", x, x+2, (x == x + 2)); } And the results: (x == x + 2) = (1 == 3) = true (x == x + 2) = (NO == NO2) = true (x == x + 2) = (null == null2) = true (x == x + 2) = (3,141593 == 5,141593) = true (x == x + 2) = (Infinity == Infinity) = true