Im für Android zu entwickeln und Kompilieren mit gradle von Git mit jitpack.ioJava nicht de-kompiliert richtig
Im Versuch, diese Bibliothek von git für funktionale Programmierung zu verwenden:
fj - functional programmming for Java 7
I hat den Code ausgeführt und Fehler bekommen, obwohl alles getestet wurde.
Das Problem ist in der Klasse GroupBy:
Quellcode:
public Collection<Group<S,T>> execute(Collection<T> collection){
Hashtable<S, Group<S, T>> groups = new Hashtable<S, Group<S, T>>();
for (T item: collection){
S classification = grouper.select(item);
if (!groups.contains(classification)){
groups.put(classification, new Group<S, T>(classification));
}
groups.get(classification).add(item);
}
return groups.values();
}
De-kompilierten Code:
public Collection<GroupBy.Group<S, T>> execute(Collection<T> collection) {
Hashtable groups = new Hashtable();
Object item;
Object classification;
for(Iterator var3 = collection.iterator(); var3.hasNext(); ((GroupBy.Group)groups.get(classification)).add(item)) {
item = var3.next();
classification = this.grouper.select(item);
if(!groups.contains(classification)) {
groups.put(classification, new GroupBy.Group(classification));
}
}
return groups.values();
}
ich Hilfe schätzen würde.
Derzeit nicht ich keinen Grund, warum der Code anders aussehen
Dank
Dekompilierern werden tatsächlich nicht zur exakten Quelle dekompilieren. da es nur den Byte-Code sieht, wird es versuchen, zu etwas zu dekompilieren, das so nahe wie möglich an der Quelle ist, aber Sie werden nie den genauen Code erhalten, den Sie vorher hatten, obwohl es das gleiche tun sollte –
OK. Ich habe eine Antwort ... 1. Der de-kompilierte Code tut genau das Gleiche. Es ist nur eine Transformation von Code und Optimierung durch den Compiler 2.Der Fehler, den ich hatte, war, weil ich "contains" anstelle von "containKey" verwendet habe – Gur