Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Data Structures - Retired Organizing Data Interfaces

Help with override

@Override
  public int compareTo(Object obj){
    Treet other = (Treet) obj;
    if (equals(other)){
      return 0;
    }
    int dateCmp = mCreationDate.compareTo(other.mCreationDate);
    if (dateCmp == 0){
      return mDescription.compareTo(other.mDescription);
    }
    return dateCmp;

I did what he said in the video but I get this error: method does not override or implement a method from a supertype

1 Answer

Can't tell if you did this, but you must make the class implement the interface:

public class BlogPost implements Comparable {

Then, for the function:

  public int compareTo(Object obj) {
    BlogPost other = (BlogPost) obj;
    if (equals(other)) {
      return 0;
    } else {
      return mCreationDate.compareTo(other.mCreationDate);
    }
  }

you must cast to BlogPost, not Treet, and you don't need to compare descriptions as the challenge said no two Treets would have the same date. But you are right that in the real world, you'd need the extra step. You also don't need the third return statement.