Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Java Java Basics Perfecting the Prototype String Equality

Andrew Peterson
Andrew Peterson
1,192 Points

Having some troubles with equalsIgnoreCase.

Not sure if I am using the IgnoreCase correctly. Any insight would be greatly appreciated!

Equality.java
// I have imported a java.io.Console for you, it is named console. 
String firstExample = "hello";
String secondExample = "hello";
String thirdExample = "HELLO";
if (firstExample == secondExample) {console.printf("%s is equal to %s.", firstExample, secondExample);
                                   }
if (firstExample == thirdExample.equalsIgnoreCase("hello")) {
  console.printf("first and third are the same ignoring case");
}
Andrew Peterson
Andrew Peterson
1,192 Points

Not sure if the challenge question is posted but here it is - Add another if statement that checks if the firstExample is equal ignoring case to thirdExample. If it, is print out "first and third are the same ignoring case".

1 Answer

It is possible in Java for two Strings with the same characters to have different addresses in memory. For example,

String example1 = new String("hello");
String example2 = new String("hello");
System.out.println(example1 == example2); // Prints false

To check if firstExample and secondExample have the same characters, the first if block would become

if (firstExample.equals(secondExample)) {
    console.printf("%s is equal to %s.", firstExample, secondExample);
}

To check if firstExample and secondExample have the same characters ignoring case, the first line would become

if (firstExample.equalsIgnoreCase(secondExample)) {