Überprüfen, ob Variable ein Array ist?

Status
Nicht offen für weitere Antworten.
G

Gromit

Gast
Hallo,

ich habe mir eine Binärbaum-Klasse geschrieben, deren Knoten mit ActionInterfaces im Tree bearbeitet werden können.

Code:
public class Node<T> {

    public T data;
    public Node<T> left;
    public Node<T> right;

    [....]

    public T getData() {
        return data;
    }

    [...]

}

Dabei gibt es ein Interface, mit dem man Arrays aufsplitten kann. D. h. handelt es sich bei "node.data" um ein Array, soll es horizontal oder vertikal in der Mitte getrennt werden und die beiden Teil-Arrays werden an "node.left.data" bzw. "node.right.data" weitergegeben.

Die Frage ist, wie man bei einem generischen "node.data" herausfinden kann, ob es sich dabei um ein Array eines beliebigen Datentyps handelt? Geht das überhaupt?
 
S

SlaterB

Gast
mit T hat das nix zu tun, zur Laufzeit wird T gestrichen/ durch Object ersetzt,
aber du hast ja ein data-Objekt, wenn das nicht null ist, dann kannst du es prüfen:

Code:
public class Test {

	public static void main(String[] args) throws Exception {
		test("");
		test(new int[0]);
	}

	static void test(Object o) {
		System.out.println("Array: " + o.getClass().isArray());
	}
}

aber Teilarrays der passenden Klassen zu erstellen oder ähnliches..,
ob das geht kann ich grad nicht sagen, wenn dann bestimmt nur mit Reflection,
was schönes kann da kaum rauskommen
 
G

Gromit

Gast
Nach isArray() habe ich gesucht. ;-) Vielen Dank.

aber Teilarrays der passenden Klassen zu erstellen oder ähnliches..,
ob das geht kann ich grad nicht sagen, wenn dann bestimmt nur mit Reflection,
was schönes kann da kaum rauskommen
Bei generischen Typen gibt es AFAIK keine Typvariablen in statischen Definitionen und keine dynamische Typprüfung von Typvariablen (instanceof). Muss mal schauen, ob das über polymorphe Instanz- oder Klassenmethoden geht.
 

Marco13

Top Contributor
Eigentlich sollte überall, wo du ein Node<T> verwendest, auch das T bekannt sein. Damit sollte sich die Frage nach dem Datentyp erübrigen. (Die Frage klingt irgendwie komisch - das mit dem isArray sollte man i.a. nicht brauchen...)
 
G

Gromit

Gast
Meine Lösung ist (vom generischen Standpunkt aus) etwas unsauber. Aus
Code:
 
G

Gromit

Gast
Meine Lösung ist (vom generischen Standpunkt aus) etwas unsauber. Aus
Code:
private T array;
wurde
Code:
private T[][] array;
Aber immerhin funktioniert es und isArray() ist auch nicht mehr nötig. (Doofe Quick-Reply-Funktion, ich sollte mich mal registrieren.)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
F Überprüfen ob es Überschneidungen von Uhrzeiten (vom Typ Calendar) gibt Allgemeine Java-Themen 10
S Überprüfen, ob 5 Zahlen nebeneinander liegen Allgemeine Java-Themen 5
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
J Überprüfen ob URL eine HTML Datei referenziert Allgemeine Java-Themen 4
T Überprüfen mathematischer Bedingungen Allgemeine Java-Themen 9
S Überprüfen von Datums/zeitwerten Allgemeine Java-Themen 4
simon1101 Überprüfen ob Dateiendung stimmt Allgemeine Java-Themen 4
M Eingabe Überprüfen Allgemeine Java-Themen 3
A Überprüfen, ob ein File eine Verknüpfung / Link ist Allgemeine Java-Themen 3
S Überprüfen, ob ein Shell Befehl existiert! Allgemeine Java-Themen 4
D Überprüfen ob Superuser Allgemeine Java-Themen 7
S Überprüfen von Intervallen Allgemeine Java-Themen 4
T Überprüfen ob zwei Farben ähnlich sind Allgemeine Java-Themen 14
M Überprüfen, ob ein Bit gesetzt ist Allgemeine Java-Themen 3
G Überprüfen ob ein String in einem anderen String vorhanden? Allgemeine Java-Themen 2
G Überprüfen, ob Datei geöffnet ist! Allgemeine Java-Themen 3
M Überprüfen einer zur Laufzeit geladenen Klasse Allgemeine Java-Themen 3
P Überprüfen, ob Datentyp ein Objekt ist Allgemeine Java-Themen 17
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
J Wo kommt der Wert der Variable her ? Allgemeine Java-Themen 6
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
H lokale Variable bei Optional verwenden Allgemeine Java-Themen 11
A Variable in if initialisieren Allgemeine Java-Themen 23
S Variable als Objekt Name Allgemeine Java-Themen 3
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
T statische Variable und nicht-statische Methode Allgemeine Java-Themen 2
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
A Variablen non-static variable cannot be referenced from a static content Allgemeine Java-Themen 4
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
A Scanner Variable Klassenimtern deklarieren Allgemeine Java-Themen 12
L Variablen Variable nicht aktualisiert Allgemeine Java-Themen 3
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
C Abstrakte Klasse, lokale Variable-Problem Allgemeine Java-Themen 1
T AWT AWT-EventQueue-0 Null_Pointer_Exception durch Variable Allgemeine Java-Themen 12
M Variable ändern bei jedem Schleifendurchlauf Allgemeine Java-Themen 32
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
S JFrame Variable mitgeben Allgemeine Java-Themen 5
M Variable außerhalb Klasse definierbar? Allgemeine Java-Themen 2
X Bild -> lokale Variable -> DB -> lokale Variable Allgemeine Java-Themen 3
F Aktuelle Variable Allgemeine Java-Themen 2
J String Variable verändert sich plötzlich Allgemeine Java-Themen 8
J private static final String variable Allgemeine Java-Themen 8
A Long variable wird negativ??? Allgemeine Java-Themen 1
reibi Classpath Classpath Variable beim Tomcat Allgemeine Java-Themen 2
M Zeiger auf statische Variable Allgemeine Java-Themen 1
H Klassennamen zum Aufruf eines statischen Feldes aus Variable holen Allgemeine Java-Themen 4
F Variable übergeben?! Allgemeine Java-Themen 2
L Variable auch in der function verfügbar machen? Allgemeine Java-Themen 4
M Collections Typ Variable einer generischen Collection ? Allgemeine Java-Themen 4
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
iB0T Variable Wert ausrauchen Allgemeine Java-Themen 3
T Variablen Variable wird als nicht genutzt angezeigt Allgemeine Java-Themen 8
S Datentypen Eine Variable von String zu Int ändern Allgemeine Java-Themen 5
Hoppelmann "Variable" in String erkennen Allgemeine Java-Themen 2
B Variable class in java.lang.Object Allgemeine Java-Themen 11
O Variablen Originalname einer übergebenen Variable prüfen Allgemeine Java-Themen 9
X Windows-Environment-Variable per jRegistryKey anpassen Allgemeine Java-Themen 6
P Variable in Array stellen Allgemeine Java-Themen 11
M Arraynamen durch Variable festlegen lassen Allgemeine Java-Themen 5
J Anderem Thread Variable mitgeben Allgemeine Java-Themen 2
nrg Auszulagernder Part, der aber variable Methode/Klasse aufruft Allgemeine Java-Themen 7
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
G Variablen Variable extern speichern - wie? Allgemeine Java-Themen 9
M Variablen Wie Variable verfügbar machen? Allgemeine Java-Themen 16
A variable aus einer anderen klasse verändern Allgemeine Java-Themen 5
G Variable Methodenwahl Allgemeine Java-Themen 11
C JFormattedTextField Inhalt einer Variable zuweisen Allgemeine Java-Themen 11
C Variablen Variable einer Klasse in einer anderen Klasse Nutzen Allgemeine Java-Themen 8
B Umgebungsvariable Variable wird nicht übernommen Allgemeine Java-Themen 4
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
C Environment Variable in Pfad -> Datei öffnen Allgemeine Java-Themen 5
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
algorismi int-variable Value Change event Allgemeine Java-Themen 3
E Variable dynamisch ausgeben Allgemeine Java-Themen 5
trash super() mit Variable bestücken Allgemeine Java-Themen 3
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
A Variable Parameterinhalte an einen Query übergeben? Allgemeine Java-Themen 3
B static Variable / Unterklasse Allgemeine Java-Themen 2
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
S Innere Klasse: Zugriff auf äußere Variable Allgemeine Java-Themen 5
Semox Fehler - Zuweisung aus BufferedReader an Variable Allgemeine Java-Themen 3
Daniel_L RegEx - variable Vorkommen ersetzen? Allgemeine Java-Themen 5
P Unicode-Sequenz (u1234) in Variable speichern und ausgeben Allgemeine Java-Themen 6
G auf variable in anderer class zugreifen Allgemeine Java-Themen 2
G Variable global nutzen Allgemeine Java-Themen 4
V Variable vom Typ String zum Typen "Message" konve Allgemeine Java-Themen 2
J in einer static Variable Wert ändern Allgemeine Java-Themen 6
M Try-Catch: wie wird Variable bei Exception initialisiert? Allgemeine Java-Themen 8
G Speicherverbrauch einer Variable Allgemeine Java-Themen 2
C ArrayList mit Variable im Namen Allgemeine Java-Themen 16
T JNI Referenz auf Variable in Java? Allgemeine Java-Themen 2
R Member-Variable erzwingen Allgemeine Java-Themen 17
D LinkedList anhand einer long-Variable der Objekte sortieren Allgemeine Java-Themen 5
M Zugriff auf Objekt, Name in Variable Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben