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 Comparable

Casey Huckel
PLUS
Casey Huckel
Courses Plus Student 4,257 Points

How does this get 5 errors?

I'll attach my code here:

package com.example;

import java.util.Date;

public class BlogPost implements Comparable {
  private String mAuthor;
  private String mTitle;
  private String mBody;
  private String mCategory;
  private Date mCreationDate;

  public BlogPost(String author, String title, String body, String category, Date creationDate) {
    mAuthor = author;
    mTitle = title;
    mBody = body;
    mCategory = category;
    mCreationDate = creationDate;
  }

  public String[] getWords() {
    return mBody.split("\\s+");
  }

  public String getAuthor() {
    return mAuthor;
  }

  public String getTitle() {
    return mTitle;
  }

  public String getBody() {
    return mBody;
  }

  public String getCategory() {
    return mCategory;
  }

  public Date getCreationDate() {
    return mCreationDate;
  }

@Override
  public compareTo(Object object) {
    BlogPost other = (BlogPost) obj;
    return 1;
}
}
r h
r h
68,552 Points

You need to have your compareTo compare things based on one instance field, the factor on which you want it to sort. Example:

@Override
public int compareTo(Object object) {
if (mCreationDate > other.mCreationDate) { return 1; }
if (mCreationDate < other.mCreationDate) { return -1; }
if (mCreationDate == other.mCreationDate) { return 0; }
}

1 Answer

Craig Dennis
STAFF
Craig Dennis
Treehouse Teacher

Hi Casey!

If you scroll up in that preview pane you will see the errors. Assuming you didn't know you could scroll.

Looks like you forgot a return type on the compareTo definition. I think the rest will work itself out.

Let me know if you are still stuck after seeing those errors.