Tag: type-erasure

In Java type erasure ist der Prozess, wo der compiler entfernt alle Informationen, die im Zusammenhang mit Typ-Parametern und Typ der Argumente, die innerhalb einer Klasse oder Methode auf, wenn ein generischer Typ wird instanziiert.

In C++ geben Sie die Löschung bezieht sich auf eine Technik zum verbergen von die einige oder alle Art von Informationen über eine Klasse.

Erstellen von generischen Liste

Anzahl der Antworten 2 Antworten
Wie kann ich genric Liste in Java? Ich kann mir auch passieren Class<T> - Instanz an die Methode. Wie diese: public static <T> List<T> createList(Class<T> clazz) { List<T> list = new ArrayList<T>(); list.add(clazz.newInstance()); return list; } Liste

Was sind die Vorteile der Java-Typen Löschung?

Anzahl der Antworten 11 Antworten
Lese ich tweet heute, die sagte: Es ist lustig, wenn die Java-Nutzer beschweren sich über type erasure, das ist das einzige, was Java bekam Recht, und ignorieren all die Dinge, bekam es falsch. Also meine Frage ist:

Generische Einschränkung Der Hölle: Bound Mismatch

Anzahl der Antworten 4 Antworten
Ich bin an einem Projekt arbeiten, hat eine umfangreiche Struktur von generischen Vererbung und Abhängigkeiten. Gehen Sie auf Bearbeiten, um besser sehen zu Beispiel. Die Grundlagen wie folgt Aussehen: class A { ... } class B {

Java:Wie überschreiben Sie diese generische Methode?

Anzahl der Antworten 5 Antworten
public <S extends T> List<S> save(Iterable<S> entities) { //... } Wenn ich folgende Methode überschreiben @Override public List<MyType> save(Iterable<MyType> structures) { List<MyType> result = new ArrayList<>(); //... return result; } Bekomme ich folgenden Fehler: method does not

Java-erasure bei generischen überlastung (nicht überschreiben)

Anzahl der Antworten 2 Antworten
Habe ich FinanceRequests und CommisionTransactions in meiner Domäne. Wenn ich eine Liste von FinanceRequests jeder FinanceRequest konnte, enthalten mehrere CommisionTransactions werden müssen zurückgefordert werden. Dont worry, wie genau das geschehen ist. Die Klasse unten (ganz unten), macht

Java generics-type erasure: Wann und was passiert?

Anzahl der Antworten 7 Antworten
Lese ich über Java type erasure auf der Oracle-website. , Wenn nicht Typ erasure auftreten? Bei der Kompilierung oder zur Laufzeit? Wenn die Klasse geladen wird? Wenn die Klasse instanziiert wird? Viele Websites (einschließlich der offiziellen tutorial

Java generics-type erasure: Wann und was passiert?

Anzahl der Antworten 7 Antworten
Lese ich über Java type erasure auf der Oracle-website. , Wenn nicht Typ erasure auftreten? Bei der Kompilierung oder zur Laufzeit? Wenn die Klasse geladen wird? Wenn die Klasse instanziiert wird? Viele Websites (einschließlich der offiziellen tutorial

Java generics-type erasure: Wann und was passiert?

Anzahl der Antworten 7 Antworten
Lese ich über Java type erasure auf der Oracle-website. , Wenn nicht Typ erasure auftreten? Bei der Kompilierung oder zur Laufzeit? Wenn die Klasse geladen wird? Wenn die Klasse instanziiert wird? Viele Websites (einschließlich der offiziellen tutorial

Warum kann man nicht erstellen Sie eine Instanz eines generischen Typs mit "new" - operator?

Anzahl der Antworten 4 Antworten
Fand ich eine Menge Beiträge über wie um diese Einschränkung zu überwinden, aber keine darüber, warum diese Begrenzung existiert (außer diese eine, die nur erwähnt, es hat zu tun mit type erasure). Also, warum nicht Sie erstellen

Jackson JsonNode zu toppen Sammlung

Anzahl der Antworten 2 Antworten
Was ist der richtige Weg, um konvertieren von Jackson JsonNode um eine java-Sammlung? Wenn es eine json-Zeichenfolge, die ich verwenden könnte ObjectMapper.readValue(String, TypeReference) aber für eine JsonNode nur die Optionen sind ObjectMapper.treeToValue(TreeNode, Class) die nicht geben eine

Java Generics - <int> <Integer>

Anzahl der Antworten 4 Antworten
In der Art und Weise des Lernens Java-Generics, ich stecken geblieben an einer Stelle. Es wurde geschrieben "Java Generics funktioniert nur mit Objekten und nicht mit den primitiven Typen". e.g Gen<Integer> gen=new Gen<Integer>(88); //Works Fine .. Aber

Prüfen Sie, ob ein Objekt eine Instanz der Liste der angegebenen Klassennamen

Anzahl der Antworten 6 Antworten
Gegeben Object o und ein String className = "org.foo.Foo" möchte ich überprüfen, ob o ist Instanz von List<className> Habe ich versucht, diese aber nicht kompilieren: Class<?> cls = Class.forName(className); if (o instanceof List<cls>){ //this gives error: cls

Erasure-elimination im scala : non-variable argument Typ ist nicht aktiviert, da es beseitigt ist, durch Löschung

Anzahl der Antworten 2 Antworten
Habe ich eine Sequenz Seq[Jeder], der eine Vielzahl von Objekten (wie String, Integer, List[String], etc). Ich versuche zu sichten durch die Liste und brechen Sie in separaten Listen partitioniert basierend auf der Klasse geben. Das folgende ist

Wie bekommt man die Klasse der Typ-Variablen in Java Generics

Anzahl der Antworten 7 Antworten
Ich habe gesehen, ähnliche Fragen, aber Sie nicht sehr viel helfen. Zum Beispiel habe ich dieses Generische Klasse: public class ContainerTest<T> { public void doSomething() { //I want here to determinate the Class of the type argument

Type-erasure-Techniken

Anzahl der Antworten 6 Antworten
(Mit type erasure, meine ich versteckt einige oder alle der geben Informationen über eine Klasse, ein wenig wie Boost.Jeder.) Ich will, um ein halten des type-erasure-Techniken, während Sie auch teilen diese, die ich kenne. Meine Hoffnung ist,

T.class trotz Javas Typ-Löschung bekommen

Anzahl der Antworten 5 Antworten
Ich bin versucht zu binden eine Schnittstelle zu deren Umsetzung, wie Lesen aus einer Konfigurations-Datei, so dass ich füttern Sie, um mein IoC-container. Hier ist ungefähr das, was ich versuche zu tun: public class PropertyImplementationBinder<T> { //...

Was ist der Grund, warum ich keine generischen Array-Typen in Java erstellen kann?

Anzahl der Antworten 14 Antworten
Was ist der Grund, warum Java nicht erlauben uns zu tun private T elements = new T[initialCapacity]; Konnte ich verstehen .NET hat uns nicht erlauben, das zu tun, als in .Hast du NET Wert-Typen, die zur Laufzeit

Wie passt man den generischen Typ in Scala zusammen?

Anzahl der Antworten 4 Antworten
Nehmen wir an, wir haben eine generische Klasse Container: case class Container[+A](value: A) Wir wollen dann auf pattern match ein Container mit einem Double und ein Container von Any: val double = Container(3.3) var container: Container[Any] =

Klasse ist ein roher Typ. Verweise auf den generischen Typ Klasse & lt; T & gt; sollte parametriert werden

Anzahl der Antworten 2 Antworten
Habe ich die folgende Klasse (aus einem einfachen Feder-tutorial) public class CarValidator implements Validator { public boolean supports(Class aClass) { return Car.class.equals(aClass); } public void validate(Object obj, Errors errors) { Car car = (Car) obj; ValidationUtils.rejectIfEmptyOrWhitespace(errors, "model",

Scala doppelte Definition (2 Methoden haben die gleiche Art Löschen)

Anzahl der Antworten 11 Antworten
Ich dies schrieb, scala und es wird nicht kompilieren: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } dem compiler mitteilen: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error]

Serialisierung von Map & lt; Date, String & gt; mit Jackson

Anzahl der Antworten 3 Antworten
Ich serialisieren möchten eine Karte mit Jackson. Das Datum, die serialisiert werden sollen, wie ein Zeitstempel, wie alle meine anderen Termine. Den folgenden code rendert die Schlüssel in der form "Tue Mar 11 00:00:00 CET 1952" (das

Java-Generics schreiben Löschen: Wann und was passiert?

Anzahl der Antworten 6 Antworten
Lese ich über Java type erasure auf der Oracle-website. Wenn nicht Typ erasure auftreten? Bei der Kompilierung oder zur Laufzeit? Wenn die Klasse geladen wird? Wenn die Klasse instanziiert wird? Viele Websites (einschließlich der offiziellen tutorial oben

Typ löschen, überschreiben und Generika

Anzahl der Antworten 2 Antworten
Kann mir jemand erklären, warum @Override public void fooMethod(Class<?> c) nicht überschreiben public void fooMethod(Class c) und gibt mir den folgenden Fehler statt: - Name-clash: Die Methode fooMethod(Klasse<?>) der Typ der Unterklasse hat die gleiche erasure wie

Java generische Methoden aufrufen

Anzahl der Antworten 3 Antworten
Ich studiere Java generische Funktion, und ich bin nicht sicher, wie zu erklären, die Dritte Zeile in der folgenden main Methode: public class Example4 { public static void main(final String args) { System.out.println(Util.<String>compare("a", "b")); System.out.println(Util.<String>compare(new String(""), new

Wie komme ich bei Scala mit Typ-Löschen zurecht? Oder, warum kann ich den Typparameter meiner Sammlungen nicht erhalten?

Anzahl der Antworten 11 Antworten
Es ist eine traurige Tatsache des Lebens auf der Scala, wenn Sie instanziieren eine List[Int] können Sie überprüfen, ob Ihre Instanz ist eine Liste, und Sie können überprüfen, dass jedes einzelne element, es ist ein Int, aber

Ungeprüfte Zuweisungswarnung

Anzahl der Antworten 2 Antworten
Bin ich mit Android Studio 1.1.0. Dies verursacht keine Warnung: public static class A { public Map<Integer, String> getMap() { return null; } } public static class B { public void processA(A a) { Map<Integer, String> map

Java-Klassenobjekt von der Typvariablen

Anzahl der Antworten 3 Antworten
Gibt es einen Weg, um Klasse-Objekt vom Typ variable in Java generische Klasse? So etwas wie: public class Bar extends Foo<T> { public Class getParameterClass() { return T.class; //doesn't compile } } Diese Art von Informationen verfügbar