M
Mark
I get an exception ("ClassCastException") when I try to cast Resource
to Comparable2... any idea why?
// Resource.java
class Resource
{
private String title, firstName, lastName, publisher, dateOfEdition,
ISBN, libraryCallNumber;
private int numberOfPages, editionNumber;
Resource(String title,String ISBN,String libraryCallNumber,String
publisher, String firstName,
String lastName, int editionNumber,String dateOfEdition,int
numberOfPages)
{
this.title = title;
this.ISBN = ISBN;
this.libraryCallNumber = libraryCallNumber;
this.publisher = publisher;
this.firstName = firstName;
this.lastName = lastName;
this.editionNumber = editionNumber;
this.dateOfEdition = dateOfEdition;
this.numberOfPages = numberOfPages;
}
public String toStringLong()
{
return " Title: " + title + "\n"
+ " ISBN: " + ISBN + "\n"
+ " Library Call Number: " + libraryCallNumber + "\n"
+ " Publisher: " + publisher + "\n"
+ " Author: " + firstName + " " + lastName +
"\n"
+ " Edition Number: " + editionNumber + "\n"
+ " Date of Edition: " + dateOfEdition + "\n"
+ " Number of Pages: " + numberOfPages + "\n";
}
public String toString() {
return title + " - " + firstName + " " + lastName;
}
public String toStringEncoded() {
final String glue = ";";
return title + glue + ISBN + glue + libraryCallNumber + glue +
publisher + glue + firstName + glue
+ lastName + glue + editionNumber + glue + dateOfEdition + glue +
numberOfPages + "\n";
}
public String toString1() {
return lastName + firstName + title + editionNumber + publisher;
}
public String toString2() {
return title + editionNumber + publisher + lastName + firstName;
}
public int compareTo1(Comparable2 obj) {
return toString1().compareToIgnoreCase(obj.toString1());
}
public int compareTo2(Comparable2 obj) {
return toString2().compareToIgnoreCase(obj.toString2());
}
}
// Comparable2.java
public interface Comparable2
{
public String toString1();
public String toString2();
public int compareTo1( Comparable2 obj );
public int compareTo2( Comparable2 obj );
}
to Comparable2... any idea why?
// Resource.java
class Resource
{
private String title, firstName, lastName, publisher, dateOfEdition,
ISBN, libraryCallNumber;
private int numberOfPages, editionNumber;
Resource(String title,String ISBN,String libraryCallNumber,String
publisher, String firstName,
String lastName, int editionNumber,String dateOfEdition,int
numberOfPages)
{
this.title = title;
this.ISBN = ISBN;
this.libraryCallNumber = libraryCallNumber;
this.publisher = publisher;
this.firstName = firstName;
this.lastName = lastName;
this.editionNumber = editionNumber;
this.dateOfEdition = dateOfEdition;
this.numberOfPages = numberOfPages;
}
public String toStringLong()
{
return " Title: " + title + "\n"
+ " ISBN: " + ISBN + "\n"
+ " Library Call Number: " + libraryCallNumber + "\n"
+ " Publisher: " + publisher + "\n"
+ " Author: " + firstName + " " + lastName +
"\n"
+ " Edition Number: " + editionNumber + "\n"
+ " Date of Edition: " + dateOfEdition + "\n"
+ " Number of Pages: " + numberOfPages + "\n";
}
public String toString() {
return title + " - " + firstName + " " + lastName;
}
public String toStringEncoded() {
final String glue = ";";
return title + glue + ISBN + glue + libraryCallNumber + glue +
publisher + glue + firstName + glue
+ lastName + glue + editionNumber + glue + dateOfEdition + glue +
numberOfPages + "\n";
}
public String toString1() {
return lastName + firstName + title + editionNumber + publisher;
}
public String toString2() {
return title + editionNumber + publisher + lastName + firstName;
}
public int compareTo1(Comparable2 obj) {
return toString1().compareToIgnoreCase(obj.toString1());
}
public int compareTo2(Comparable2 obj) {
return toString2().compareToIgnoreCase(obj.toString2());
}
}
// Comparable2.java
public interface Comparable2
{
public String toString1();
public String toString2();
public int compareTo1( Comparable2 obj );
public int compareTo2( Comparable2 obj );
}