Hallo
,
ich hab ein rpoblem mit nem javaübungsprogramm, was ich schreiben muss
es geht hierbei um generics und hauptsächlich - denk ich- um das problem mit den generic arrays. schaut euch mal bitte folgenden code an.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
/** Class : GenericShelve
* @purpose : - a generic shelve for the different objects */
class GenericShelve<T extends Shelveobject>
{
// Membervariables
private T[] GenericObjects = (T[]) new Object[5];
}
|
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/** Class : Shelve
* @purpose : - test the shelveclass */
public class Shelve
{
public static void main(String [] args)
{
// Variables
GenericShelve<Book> BookShelve = new GenericShelve<Book>(); // Bookshelve
Book Book1 = new Book("Testbuch", "Niemand"); // a book
BookShelve.putObject(Book1, 0);
}
}
|
und da bekomm ich folgenden fehler.
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at GenericShelve.<init>(Shelve.java:142)
at Shelve.main(Shelve.java:185)
wenn ich jedoch das interface (Shelveobject) nicht implementiere funktioniert es. jedoch brauch ich das interface, um auf die funktion printInfo zuzugriefen, die jedes objekt im regal hat.
kann mir da bitte jemand helfen ?
mfg
Drac
edit: k da wo meine vermutung lag, daran lags auch
habs etz gefunden, es muss so heißen
|
C-/C++-Quelltext
|
1
|
private T[] GenericObjects = (T[]) new Shelveobject[5];
|