codice fonte (ovviamente il progetto ha molte altre classi)Perché il nome generato per una classe lambda non è la stessa per i programmi identici
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Stream;
public class Test {
public static void main(String[] args) {
Map<Integer, Integer> src = new HashMap<>();
Map<Integer, List<Integer>> dst = new HashMap<>();
Optional<Object> f = dst.values().stream().flatMap((Function<List<Integer>, Stream<?>>) integers -> integers.stream()).filter(b -> !src.containsKey(b)).findFirst();
f.ifPresent(b -> {
throw new IllegalStateException("exception [" + b + "]");
});
}
}
1.Copia progetto diverso percorso
d: \ Users \ sul posto di lavoro della shell \ Documenti \ \ bak \ 1
d: \ Users \ shell \ Documenti \ sul posto di lavoro \ bak \ 2
2.execute pacchetto mvn sia percorso
3.Controllare il file di classe
eseguire il comando javap -p in d: \ Users \ shell \ Documenti \ posto di lavoro \ bak \ 1 \ data \ obiettivo \ classes
public class Test {
public Test();
public static void main(java.lang.String[]);
private static void lambda$main$84(java.lang.Object);
private static boolean lambda$main$83(java.util.Map, java.lang.Object);
private static java.util.stream.Stream lambda$main$82(java.util.List);
}
eseguire il comando javap -p in d: \ Users \ shell \ Documenti \ posto di lavoro \ bak \ 2 \ Data \ obiettivo \ classes
public class Test {
public Test();
public static void main(java.lang.String[]);
private static void lambda$main$75(java.lang.Object);
private static boolean lambda$main$74(java.util.Map, java.lang.Object);
private static java.util.stream.Stream lambda$main$73(java.util.List);
}
perché il numero di funzione lambda è diversa?
c'è un modo per renderli uguali?
Perché il nome del metodo lamba è importante per te? Nota che è privato, quindi non dovrebbe interessare altre classi. – Thilo
fork = true non funziona per me. – shell
@Thilo non può parlare per l'OP, ma avere un output deterministico e coerente può aiutare a rendere più veloci le grandi complesse build saltando alcune parti –