Comparing characters in Java is simple, but there are some things you need to keep in mind. You might wonder: Can you use ==
to compare characters in Java? Let’s find out!
Understanding the ==
Operator
In Java, the ==
operator checks if two values are the same. This works great for primitive data types like int
, char
, and boolean
. Since a character (char
) in Java is a primitive type, you can use ==
to compare two character values.
Here’s an example:
char a = 'A'; char b = 'A'; if (a == b) { System.out.println("They are the same!"); } else { System.out.println("They are different!"); }
The output will be:
They are the same!
Since both a
and b
hold the same character, ==
returns true
.
Comparing Characters vs. Strings
Be careful! Characters are not the same as strings in Java.
Look at this example:
char letter = 'A'; String word = "A"; if (letter == word) { System.out.println("Match!"); }
Will this work? No! This code will not compile because 'A'
is a char
, while "A"
is a String
. Java does not allow comparing char
and String
using ==
.

Using ==
with Object Wrappers
Java has wrapper classes for primitive types. The wrapper for char
is Character
. When you use Character
objects instead of char
, things get tricky.
Character x = new Character('A'); Character y = new Character('A'); if (x == y) { System.out.println("They are the same!"); } else { System.out.println("They are different!"); }
What do you think the output will be?
They are different!
Why? Because Character
is an object, and ==
checks if both references point to the same memory location. In this case, x
and y
are different objects, so ==
returns false
.
Using equals()
for Object Comparisons
If you want to compare Character
objects, use the equals()
method:
Character x = new Character('A'); Character y = new Character('A'); if (x.equals(y)) { System.out.println("They are the same!"); } else { System.out.println("They are different!"); }
Now, the output will be:
They are the same!
The equals()
method compares the actual values, not just the memory location.
Summary
Here’s a quick breakdown:
- Use
==
to comparechar
values directly. - Do not use
==
to compareCharacter
objects. Useequals()
. - Remember that
'A'
(char) is different from"A"
(String).

Now you know how to compare characters correctly in Java. Keep practicing, and soon this will become second nature!