Exception nicht nachvollziehbar

jaluko

Mitglied
Moin,

Java:
private ArrayList<TypA> a=new ArrayList<TypA>();
private ArrayList<TypB> b=new ArrayList<TypB>();

public Klassenname(ArrayList<TypA> a)
{
  this.a=a;
}

public Klassenname(ArrayList<TypB>b)
{
  this.b=b;
}

Das Problem: "name clash: Klassenname(java.util.ArrayList<TypB>) and Klassenname(java.util.ArrayList<TypA>) have the same erasure."

Die Klasse TypA steht in einer M:N Beziehung zu dieser Klasse.
Die Klasse TypB steht in Aggregation zu dieser Klasse.

Habe schon versucht einen Konstruker mit einer ArrayList ohne festgelegte Datentyp als Übergabeparameter zu erstellen, allerdings habe ich es nicht auf die Reihe bekommen innerhalb des Konstruktors herauszufinden welcher Datentyp die später übergebene ArrayList hat.

Habe diesbezüglich google und co befragt aber nichts hilfreiches gefunden.

Liebe Grüße
 

rme

Top Contributor
Kann es sein, dass TypB von TypA erbt - oder TypA ein Interface ist, das TypB implementiert?
 
Zuletzt bearbeitet:

jaluko

Mitglied
beides nicht.
Wenn ich bei einem der beiden Konstruktoren zusätzlich zu der ArrayList noch int i übergeben lasse, dann bekomme ich den Fehler nicht. Diese "Lösung" ist allerdings nicht sonderlich schön.
 

rme

Top Contributor
Es muss aber damit zu tun haben, dass die beiden Typen irgendwas miteinander zu tun haben. Er erkennt nicht, dass ArrayList<B> nicht auch ArrayList<A> sein kann. Es könnte auch sein, dass das mit Generics allgemein nicht funktioniert, das weiß ich ehrlichgesagt nicht.

PS: Was rechtfertigt übrigens, dass du die Parameter vom Typ ArrayList und nicht List sein lässt? Listen soll nur zur Erzeugung explizit genannt werden, danach sollte man nur gegen das Interface arbeiten. Der große Vorteil ist, dass du dann an einer zentralen Stelle entscheiden kannst, welche Implementierung des List-Interfaces du benötigst - wenn du überall ArrayList durch den Code schleifst, wird es keinen Spaß machen, das irgendwann mal auf LinkedList oder so zu ändern.
 

KSG9|sebastian

Top Contributor
Das funktioniert so nicht.

Generics existieren nicht zur Laufzeit, daher sind für den Compiler/die JVM beide Konstruktoren. Kompiliert wird daraus

Java:
public Klassenname(ArrayList a)
{
  this.a=a;
}

public Klassenname(ArrayList a)
{
  this.a=a;
}

..und das funktioniert natürlich nicht. Die Parameter von Konstruktoren und Methoden müssen sich durch "mehr" unterscheiden als durch einen generischen Parameter.
 

jaluko

Mitglied
Ich stehe noch ganz am Anfang was Programmierung angeht. Interfaces stehen warum auch immer nicht im Lehrplan :bloed:
werde mich aber trotzdem außerhalb des Unterrichts damit befassen.

Es lag nicht daran, dass die beiden Typen was miteinander zutun haben. Habe in einem der beiden Konstruktoren eine List übergeben lassen und dann als ArrayList gecastet. Trotzdem danke für den Hinweis auf Interfaces :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
3 Methoden Exception werfen oder nicht Java Basics - Anfänger-Themen 6
S Out of bounds exception. Finde den fehler nicht Java Basics - Anfänger-Themen 13
H Exception bricht nicht ab Java Basics - Anfänger-Themen 2
I Exception nicht werfen lassen Java Basics - Anfänger-Themen 3
H Exception wird nicht geworfen Java Basics - Anfänger-Themen 7
pun Junit Test erkennt Exception nicht.. Java Basics - Anfänger-Themen 14
hdi nicht out of bounds, trotzdem exception Java Basics - Anfänger-Themen 4
D Exception funktioniert nicht Java Basics - Anfänger-Themen 11
K Exception wird nicht aufgerufen Java Basics - Anfänger-Themen 11
F Exception verweist nicht auf mein Programm Java Basics - Anfänger-Themen 10
B Programm würft Exception, kann sie aber nicht abfangen! Java Basics - Anfänger-Themen 25
B Exception wenn Variable nicht inizialisiert Java Basics - Anfänger-Themen 15
W EOF Exception tritt nicht auf Java Basics - Anfänger-Themen 7
B catch exception funktioniert nicht! Java Basics - Anfänger-Themen 14
rambozola selbst definierte exception abfangen funzt nicht Java Basics - Anfänger-Themen 14
H Exception nicht behandelt. Java Basics - Anfänger-Themen 6
S [JTable] versteh die exception nicht Java Basics - Anfänger-Themen 12
L die Exception will nicht so. Java Basics - Anfänger-Themen 3
C Exception abfangen->Klappt nicht ;( Java Basics - Anfänger-Themen 2
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
G Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1

Ähnliche Java Themen


Oben