Quellcode (natürlich das Projekt viele andere Klassen)Warum ist der generierte Name für eine Lambda-Klasse nicht das gleiche für identische Programme
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.Kopieren Projekt zu anderen Weg
d: \ Benutzer \ shell \ Dokumente \ Arbeitsplatz \ bak \ 1
d: \ Benutzer \ shell \ Dokumente \ Arbeitsplatz \ bak \ 2
2.execute MVN Paket in beiden Bahn
3.Check der Klassendatei
Befehl javap -p in d ausführen: \ Benutzer \ shell \ Dokumente \ Arbeitsplatz \ bak \ 1 \ data \ classes \ Ziel
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);
}
Befehl javap -p in d ausführen: \ Benutzer \ Shell \ Documents \ Arbeitsplatz \ bak \ 2 \ data \ target \ Klassen
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);
}
warum die Zahl der Lambda-Funktion ist anders?
Gibt es eine Möglichkeit, ich kann sie gleich machen?
Warum ist der Name der Lamba-Methode für Sie wichtig? Beachten Sie, dass es auch privat ist und keine anderen Klassen beeinflussen sollte. – Thilo
fork = true funktioniert nicht für mich. – shell
@Thilo kann nicht für das OP sprechen, aber eine deterministische, konsistente Ausgabe kann große komplexe Builds schneller machen, indem einige Teile übersprungen werden. –