It is the Bitwise xor operator in java which results 1 for different value of bit (ie 1 ^ 0 = 1) and 0 for same value of bit (ie 0 ^ 0 = 0) when a number is written in binary form.
In particular, if Java ever gets another ternary operator, people who use the term "conditional operator" will still be correct and unambiguous - unlike those who just say "ternary operator".
What is the Java ?: operator called and what does it do?
@ColinD Java really needn't to deal with backwards compatibility in each single line. In any Java source file using generics the old non-generic types should be forbidden (you can always use <?> if interfacing to legacy code) and the useless diamond operator should not exist.
What does the arrow operator, '->', do in Java? - Stack Overflow
Since java.lang.String class override equals method, It return true if two String object contains same content but == will only return true if two references are pointing to same object. Here is an example of comparing two Strings in Java for equality using == and equals() method which will clear some doubts:
In Java Persistence API you use them to map a Java class with database tables. For example @Table () Used to map the particular Java class to the date base table. @Entity Represents that the class is an entity class. Similarly you can use many annotations to map individual columns, generate ids, generate version, relationships etc.