String Length Comparable

Geoffrey Challen // 2020.10.0

Let's get some practice implementing a known interface. Create a public class named MyString. MyString should provide a public constructor that accepts a single String argument. You should reject null Strings in your constructor using assert.

MyString should also implement the Java Comparable interface, returning 1 for a positive result and -1 for a negative result. Normally Strings are compared lexicographically: "aaa" comes before "z". MyString should compare instances based on the length of its stored String. So MyString("aaa") should come after MyString("z"), since "aaa" is longer than "z".

You will probably need to review the documentation for Comparable. Note that compareTo accepts an Object as an argument, but you can reject non-MyString arguments using assert.