林開發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