Articles of Generika

Generische Verwendung mit inneren classnproblemen

Ich poste nicht den gesamten Code. Ich habe das: public class LinkedList2<T extends Comparable> implements Iterable { private Node head; private Node tail; private int numOfElem; private class Node { Node next; T data; Node(Node next, T data) { this.next = next; this.data = data; } } private class LinkedList2Iterator implements Iterator { private int […]

Parsen von JSON zur Liste von Elementen mit generischem Feld mit Gson

public class OwnCollection{ private int size; private List<ResponseItem> data; } public class ResponseItem{ private String path; private String key; private T value; } public class Query{ public OwnCollection getParsedCollection( … ){ String json = …; //some unimportant calls where I get an valid Json to parse return Result.parseToGenericCollection(json); } } public class Result{ public static […]

Maven Compiler vs Eclipse Compiler Generics Unterschied?

Ich habe viele Probleme in meinem Projekt entdeckt, als ich von Eclipse Build zu Maven Build ging. Ich benutze das 2.5.1 Compiler-Plugin. JDK ist open-JDK-7 Ich habe das Problem in einem neuen Projekt isoliert und das Problem heruntergestuft: public class Test { public static void main(String[] args) { List list = newList(); for(String name : […]

Generische Aufrufe mit JAVA JNI und C ++ machen

Ich arbeite mit JNI und ich muss einige generische Typen an C ++ übergeben. Ich bin fest, wie man das auf der C ++ Seite angehen kann HashMap data1 ; ArrayList<ArrayList> disc ; Ich bin neu bei JNI und schaute mich um, konnte aber nicht viel Hilfe finden. Kann jemand mir dabei helfen, JNI-Code dafür […]

Generische Methode Typ Rückschluss, wenn der Zieltyp einen Platzhalter hat

Ich verstehe, dass der Compiler den Zieltyp verwendet, um das Argument type zu bestimmen, das den generischen Methodenaufruf anwendbar macht. Zum Beispiel in der folgenden Aussage: List listOne = Collections.emptyList(); wo die Collections.emptyList einen Typparameter T in seiner Signatur hat public static final List emptyList() { In diesem Fall ist das abgeleitete Argument für T […]

Expliziter Methodentypparameter, der bei einem Rohklasse-Typ ignoriert wird; Compilererrors?

Ich erhalte einen Compilererrors, der eine generische Methode mit expliziten Typparametern aufruft, als ob der explizite Typparameter nicht berücksichtigt worden wäre. Minimal Beispiel: class CastExample { static class ThingProducer { public T getThing() { return null; } } static class ThingA {} public static void main(String… args) { ThingProducer thingProducer = new ThingProducer(); ThingA thingA […]

Verhalten der funktionalen Schnittstelle und Methodenreferenz

Was passiert, wenn die Referenz einer Methode, die zu einer Variablen gehört, zerstört wird? public class Hey{ public double bar; public Hey(){ bar = 2.0d; } public double square(double num){ return Math.pow(num , bar); } } Function square; whatsGonnaHappen: { Hey hey = new Hey(); square = hey::square; }//is hey still kept around because its […]

Java mit Generics mit Listen und Schnittstellen

Ok, also hier ist mein Problem: Ich habe eine Liste mit Schnittstellen – List a – und eine Liste von Schnittstellen, die diese Schnittstelle erweitern: List b . Ich möchte a = b . Ich möchte nicht addAll() oder irgendetwas verwenden, das mehr Speicher kostet, da das, was ich mache, bereits sehr kostenintensiv ist. Ich […]

Warum bekomme ich eine class-Cast-Ausnahme für die int.class-Umwandlung?

Im folgenden Programm verstehe ich nicht, warum ClassCastException für die int.class aus int.class Update: Ich sollte angeben, ich weiß, welche primitiven Typen sind. What I don’t understand is why int.class is provided with broken implementation? public static void main(String[] args) { System.out.println(DataType.INT.getValue(Integer.class)); System.out.println(DataType.INT.getValue(int.class));//Class cast exception here } enum DataType { INT { @Override public T […]

Wie wird das classnobjekt eines generischen Typs in eine bestimmte Instanz dieses Typs umgewandelt?

Ich habe eine generische Schnittstelle, nennen GenericInterface es GenericInterface . Ich muss das classnobjekt dieser Schnittstelle an eine Methode übergeben, die (durch einen anderen Typparameter angegeben) eine bestimmte Instanz dieses Typs erwartet. Nehmen wir an, ich möchte java.util.Collections.checkedList() aufrufen: List<GenericInterface> list = Collections.checkedList( new ArrayList<GenericInterface>(), GenericInterface.class); Dies funktioniert nicht, da die Class nicht implizit in […]