Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Christian H. Kuhn" Newsgroups: de.comp.lang.java Subject: Re: Generics und Wildcards Date: Wed, 21 Aug 2019 18:06:28 +0200 Lines: 33 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net iEmj2q7j1t0WlmqywXCIkAJnV9aa/AXhOiDUIHGV3oqiPthmU= Cancel-Lock: sha1:h2H1HeS0NTObhi0bFzTpL/wf2Pw= User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 In-Reply-To: Xref: csiph.com de.comp.lang.java:13268 Grmpf. Am 21.08.2019 um 12:57 schrieb Christian H. Kuhn: > T ist der Typ des Spielzugs. Bei Münzwürfen Boolean, bei einem Würfel > Integer, bei mehreren Würfeln List, bei Kartenspielen eine > Karte, eine Folge von Karten, ... Ich könnte Object nehmen, dann > bräuchte ich keine generische Typisierung. Dafür müsste beim > Implementieren des Interfaces ein Hin- und Hergecaste stattfinden. > Fehleranfällig, erfordert Checks, was den Code aufbläht, und kommt mir > ganz allgemein nicht so effizient vor. Mit Generics alles schön > übersichtlich und bis hierhin unproblematisch. Ausprobiert. Geht nicht. An der Stelle, die bisher Probleme machte. Aber anders. final LSNode newNode = new LSNode<>(actNode.getElement().executeMove(move)); Cannot infer type arguments for LSNode<>. final LSNode newNode = new LSNode(actNode.getElement().executeMove(move)); The constructor LSNode(LSElement) is undefined Spätestens an dieser Stelle beginne ich, Generics zu hassen. public final class LSNode { private final transient E element; public LSNode(final E element) { this.element = element; } }