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.
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
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:
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 {
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
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
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
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
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
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
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
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
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
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
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
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,
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> { //...
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
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] =
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",
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]
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
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
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
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
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
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
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