Verwirrung bei Streams aus primitiven Arrays

D

DrPils

Bekanntes Mitglied
Moin
Ich verstehe nicht ganz was hier passiert:
Java:
import java.util.*;
import java.util.stream.Stream;

public class Test {

    public static void main(String[] args) {

        Integer[] arr = {3, 5, 7, 7, 4};
        Stream.of(arr).forEach(System.out::println);// gibt die Zahlen aus
        int[] intArr = {4, 5, 6, 8, 4};
        Stream.of(intArr).forEach(System.out::println);// gibt den Hashcode des Arrays aus
        Arrays.stream(intArr).forEach(System.out::println);// gibt die Zahlen aus


    }
}

Zeile 9: Ist keine Überraschung, ich übergebe ein Integer Array und es werden die Integers ausgegeben
Zeile 11: Hier verstehe ich nicht wieso der Hashcode des int[] ausgegeben wird. Stream.of() ist mit varargs überladen. Wenn ich aber ein primitives Array habe, wird wohl die Methode aufgerufen die ein Object als Parameter hat. Ich verstehe nicht wieso das so ist, wird ja irgendeinen Sinn haben. Mir leuchtet er nicht ein, ich ging davon aus, dass bei einem Array immer die varargs Methode aufgerufen wird.

Java:
public class Test {

    public static void main(String[] args) {

        Integer[] arr = {3, 5, 7, 7, 4};
        int[] intArr = {4, 5, 6, 8, 4};
        test(arr);//output: varargs
        test(intArr);//output: Object

    }

    static void test(Object o) {
        System.out.println("Object");
    }

    static void test(Object...o) {
        System.out.println("varargs");
    }
}
 
L

LimDul

Top Contributor
int kann nicht nach Object gecasted werden. Und Autoboxing kann nicht aus einem int-Array ein Integer-Array machen.
 
D

DrPils

Bekanntes Mitglied
int kann nicht nach Object gecasted werden. Und Autoboxing kann nicht aus einem int-Array ein Integer-Array machen.
Achso okay, ich glaube ich habe es jetzt. Also wenn ich einen varargs Object... values erwarte, dann brauche ich auch ein Object[]. Und ein Integer[] erbt eben von Object[] ein int[] natürlich nicht.
Dankeschön!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
J Array verwirrung ! Java Basics - Anfänger-Themen 21
S Verwirrung - Dynamische Bindung greift nicht Java Basics - Anfänger-Themen 2
P Verwirrung mit AWT Frame und main Methode Java Basics - Anfänger-Themen 19
B Classpath static block - Verwirrung Java Basics - Anfänger-Themen 2
B Erste Schritte Verwirrung in der Namensgebung Java Basics - Anfänger-Themen 9
T java Verwirrung Java Basics - Anfänger-Themen 21
G Verwirrung bei abstrakter Klasse/Methode Java Basics - Anfänger-Themen 4
B Collections Streams - Hilfestellung bei komplexer Struktur Java Basics - Anfänger-Themen 9
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
S Streams - kleinstes Element finden Java Basics - Anfänger-Themen 4
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
W Eclipse Autoformatierung für Streams ändern ? Java Basics - Anfänger-Themen 1
S Lambda Ausdrücke Streams Java Basics - Anfänger-Themen 6
I Streams Java Basics - Anfänger-Themen 12
N Frage zu Streams Java Basics - Anfänger-Themen 3
U Input/Output Unterschiede Streams Java Basics - Anfänger-Themen 2
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
C system.out.printf mit streams benutzen Java Basics - Anfänger-Themen 7
C Methoden Sortieren mit Streams: Auf- und absteigend Java Basics - Anfänger-Themen 2
O Streams und die flush Methode Java Basics - Anfänger-Themen 3
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
M Input/Output Streams Java Basics - Anfänger-Themen 5
T Klassen wie funktionieren Streams, warum bekomme ich int zurück? Java Basics - Anfänger-Themen 2
J Java 8 Streams - Frage zu "reduce" Java Basics - Anfänger-Themen 6
Sogomn Input/Output Reader, Writer und Streams Java Basics - Anfänger-Themen 6
T Fehler mit Streams! Java Basics - Anfänger-Themen 2
T Input/Output Object Streams Java Basics - Anfänger-Themen 6
J Per I/O Streams in LinkedList oder ArrayList schreiben/lesen Java Basics - Anfänger-Themen 6
I Java Streams Java Basics - Anfänger-Themen 6
R Streams for runaways Java Basics - Anfänger-Themen 5
RySa Input/Output Datei kann nicht gelöscht werden, obwohl Streams geschlossen sind. Java Basics - Anfänger-Themen 2
D Input/Output streams und readLine() Java Basics - Anfänger-Themen 3
firefexx Input/Output close() bei mehreren Streams Java Basics - Anfänger-Themen 5
M Frage zu Streams Java Basics - Anfänger-Themen 9
C try finally - Streams schließen Java Basics - Anfänger-Themen 7
M Streams und Sockets Java Basics - Anfänger-Themen 3
M file löschen, streams evtl noch offen Java Basics - Anfänger-Themen 7
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5
S Piped Streams / Threads Java Basics - Anfänger-Themen 6
H Frage zu Byte-Streams Java Basics - Anfänger-Themen 2
P Streams mit Sockets Java Basics - Anfänger-Themen 7
V Performance Lesen und Schreiben aus/in Streams Java Basics - Anfänger-Themen 4
C RandomAccessFile vs. Streams Java Basics - Anfänger-Themen 5
M Probleme mit den Streams Java Basics - Anfänger-Themen 2
G streams schließen Java Basics - Anfänger-Themen 2
P Fragen zu STreams Java Basics - Anfänger-Themen 5
M Streams Java Basics - Anfänger-Themen 4
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
? Streams Java Basics - Anfänger-Themen 2
R RandomAccessFile mit anderen Streams verbinden Java Basics - Anfänger-Themen 5
G Rekursionsaufgabe mit Streams Java Basics - Anfänger-Themen 5
J Problem mit Streams Java Basics - Anfänger-Themen 15
L Streams und Reader/Writer Java Basics - Anfänger-Themen 8
K Frage zu SdtOut streams bzw. Socket Programmierung Java Basics - Anfänger-Themen 3
M Streams, read and write Java Basics - Anfänger-Themen 2
M Streams Java Basics - Anfänger-Themen 2
B Streams wollen scheinbar nicht schließen Java Basics - Anfänger-Themen 6
S Umwandlung eines Character-Streams in ein Image Java Basics - Anfänger-Themen 17
E Probleme mit Streams Java Basics - Anfänger-Themen 3
M Wann eine Wrapper Klasse verwenden und wann einen primitiven Datentypen? Java Basics - Anfänger-Themen 8
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
C Verwendung von primitiven Datentypen Java Basics - Anfänger-Themen 8
M Datentypen Frage zu Variablen primitiven Datentyps Java Basics - Anfänger-Themen 8
M HashMap mit primitiven Datentypen Java Basics - Anfänger-Themen 10
S Methode die Wrapper Klasse fuer einen primitiven Typ zurueck Java Basics - Anfänger-Themen 11
D String in einen primitiven datentypen parsen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben