林开发Android和使用jitpack.ioJava不反编译正确
从混帐与gradle这个编译我试着去使用这个库从git的函数式编程:
fj - functional programmming for Java 7
我即使所有内容都经过测试,仍然运行代码并发生错误。
的问题是在类的GroupBy:
的源代码:
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();
}
德编译代码:
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();
}
我希望得到任何帮助。
目前我没有看到任何理由为什么代码看起来不同
感谢
反编译器不会真正反编译为确切的源代码。因为它只能看到字节代码,它会尝试反编译为尽可能接近源代码的东西,但即使它应该执行相同的操作,您也不会真正获得以前的确切代码。 –
好的。我得到了一个答案... 1.解编译代码完全一样。这只是编译器 2的代码和优化的转换。我遇到的错误是因为我使用'contains'而不是'containKey' – Gur