casting class to interface

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 );

}
 
N

NeoGeoSNK

Mark said:
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 );

}



That is because "Resource is not a Comparable2"
please declare Resource like this:
class Resource implements Comparable2{
}
 
S

Stefan Ram

Mark said:
I get an exception ("ClassCastException") when I try to cast
Resource to Comparable2... any idea why?
class Resource

There is no »implements Comparable2« here.
 
M

Mark

Arne said:
The class does not implement Comparable2 !?

Arne

lol!! thank you so much. i'm new to this "implements" stuff. i'm more
of a c++ programmer. such an easy fix..thank you!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,228
Members
46,816
Latest member
nipsseyhussle

Latest Threads

Top