Variable auf Typ prüfen (weiteres Problem)

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
bjcoon hat gesagt.:
Mit welcher Methode prüfe ich, welchen Typs eine Variable ist?
Java ist statisch getypt. Schau einfach nach, wo Du die Variable deklariert hast, da steht der Typ immer dabei.

Code:
int x; // der Typ von x ist int
 

Joker

Bekanntes Mitglied
sowas?
Code:
Integer i =0;     
      if(i instanceof Integer) {
         System.out.println("das ist ein Integer");
      }

(zumindest wenn es keine primitiven Datentypen sind)
 

bjcoon

Aktives Mitglied
Erstmal danke für eure Antworten.

Machen wirs konkret:

Code:
List liste = new ArrayList();

Eigentlich wollte ich nur prüfen, ob ich damit eine ArrayList erstellt habe?
 

bjcoon

Aktives Mitglied
Mich hat es ein bisschen durcheinander gebracht, weil ich mit:

Code:
List liste = new ArrayList();

zu Beginn mit 'List' begonnen habe und nicht mit 'ArrayList'.
Wie ist das zu verstehen?
 

Joker

Bekanntes Mitglied
probier es doch einfach aus und schau dann dir dann mal die Doku an, um das Ergebnis nachzuvollziehen:

Code:
 List<String> liste = new ArrayList<String>();
      if (liste instanceof ArrayList) { //true
          System.out.println("ArrayList");
      } 
      
      if(liste instanceof List) { //true
          System.out.println("List");
      }
      
      if(liste instanceof Vector) { //false
          System.out.println("Vector");
      }
 

bjcoon

Aktives Mitglied
Was ist nun der Unterschied zwischen List und ArrayList?

Als Ausgabe erhalte ich

List
ArrayList
 

AlArenal

Top Contributor
ArrayList verhält sich zu List etwa wie VW Golf V zu Automobil.

Von einem Automobil ist bekannt, dass es 4 Räder hat, einen Motor, wenigstens nen Platz für nen Fahrer, etc. Aber niemand kann ein Automobil kaufen, weil es nur eine Generalisierung ist. Eine konkrete Implementierung wäre ein spezifisches Modells eines Herstellers. Das hat diegleichen Eigenschaften / Möglichkeiten wie jedes Automobil, ist aber real existent.

Übertragen auf obige Analogie sagst du also, dass das Automobil meinAuto ein VW Golf V ist.
 

LordLuzifer

Aktives Mitglied
List ist das Interface, das alle Collections implementieren. ArrayList ist eine Collection, die List implementiert. List enthält die Grundbefehle wie set(), get() etc. ArrayList fügt diesen Grundbefehlen ein paar speziellere dazu.
 

bjcoon

Aktives Mitglied
AlArenal hat gesagt.:
ArrayList verhält sich zu List etwa wie VW Golf V zu Automobil.

Von einem Automobil ist bekannt, dass es 4 Räder hat, einen Motor, wenigstens nen Platz für nen Fahrer, etc. Aber niemand kann ein Automobil kaufen, weil es nur eine Generalisierung ist. Eine konkrete Implementierung wäre ein spezifisches Modells eines Herstellers. Das hat diegleichen Eigenschaften / Möglichkeiten wie jedes Automobil, ist aber real existent.

Übertragen auf obige Analogie sagst du also, dass das Automobil meinAuto ein VW Golf V ist.

Eine bessere Beschreibung hätte ich mir nicht wünschen können. Vielen Dank!
 

bjcoon

Aktives Mitglied
Anlass des ganzen war folgendes Problem:

Code:
import java.util.*;
import java.io.*;

public class Telefonliste {

  public static BufferedReader br = new BufferedReader (new InputStreamReader(System.in));

  public static void main (String[] args) {

	String eintrag;
	List liste = new ArrayList();

	System.out.println("Bitte geben Sie einen Namen und die Telefonnummer ein. Bsp.: 'Frank 0123456'");
	eintrag = leseEintrag();
	zeigeEintrag(eintrag);
	speichereEintrag(eintrag);

  }

  public static String leseEintrag() {
	while (true) {
	  try {
	    return br.readLine();
	  }
	  catch (Exception e) {
	    System.err.println("Eingabefehler");
	  }
  	}
  }

  public static String zeigeEintrag(String eintrag) {

	System.out.println(eintrag);
	return eintrag;

  }

  public static String speichereEintrag (String eintrag, List liste) {

	liste.add(eintrag);
	return eintrag;

  }

  public void löscheEintrag (String eintrag, List liste) {

	liste.remove(eintrag);

  }

}

Der Compiler meldet einen Fehler bei der Methode speichereEintrag()

Das Eingeben und das Ausgeben des eingebenen Strings über die Konsole funktioniert, aber leider funktioniert das hinzufügen an die Liste mit Hilfe der Methode speichereEintrag() nicht.

Was ist der Fehler?
 
G

Guest

Gast
bjcoon hat gesagt.:
Mich hat es ein bisschen durcheinander gebracht, weil ich mit:

Code:
List liste = new ArrayList();

zu Beginn mit 'List' begonnen habe und nicht mit 'ArrayList'.
Wie ist das zu verstehen?
Eine Variable hat in Java genau einen Typ. Deine Variable liste hat den Typ List. List ist kein primitiver Typ (wie int, long, char etc.), sondern ein Referenztyp. Der Wert der Variable ist also entweder null oder eine Referenz auf ein Objekt.
Der Witz ist jetzt, dass eine Variable vom Typ List alle Objekte referenzieren kann, die mindestens so speziell wie List sind. In Deinem Fall also ArrayList oder LinkedList. Wenn Du Dich für die Klasse des referenzierten Objekts interessierst, kannst Du die Operation getClass() aufrufen.
Code:
List<String> liste = new ArrayList<String>();
System.out.println(liste.getClass().getName());
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tommy Nightmare Variable auf mehrere Ungleichheiten prüfen Java Basics - Anfänger-Themen 18
M Variable auf Existenz prüfen Java Basics - Anfänger-Themen 7
A prüfen ob variable existiert Java Basics - Anfänger-Themen 9
C prüfen, ob Variable bereits initialisert ist Java Basics - Anfänger-Themen 5
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
G variable kopieren bzw. woanders benutzen Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
J Double Variable und Addition Java Basics - Anfänger-Themen 2
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
H Datentypen Wertebereich von <Klassenname> <Variable> Java Basics - Anfänger-Themen 12
M Private Variable Java Basics - Anfänger-Themen 2
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
s.marcii Modulo in der Variable einsetzen - ist das möglich? Java Basics - Anfänger-Themen 2
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
B Inkrement von Variable Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
J JTextField Bezeichnung als Variable Java Basics - Anfänger-Themen 3
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
H Variable um 1 erhört ausgeben Java Basics - Anfänger-Themen 4
V Erste Schritte Eine Array-Variable mit Benutzereingaben befüllen Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
H Variable.methode aufstellen, verstehen Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
S Variable einscannen Java Basics - Anfänger-Themen 30
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
J Input-Variable nicht sichtbar Java Basics - Anfänger-Themen 2
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
S Variable Parameter Java Basics - Anfänger-Themen 5
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
P if - Statement erkennt variable nicht. Java Basics - Anfänger-Themen 12
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
R variable istpositiv might not have been initialized Java Basics - Anfänger-Themen 2
A Methodenname aus variable Java Basics - Anfänger-Themen 2
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
Hanschyo Variable nicht initialisiert Java Basics - Anfänger-Themen 6
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
L Variable in If-Statement initialisieren Java Basics - Anfänger-Themen 4
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
V Warum speichert meine String-Variable nummerische Werte? Java Basics - Anfänger-Themen 3
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
F [OOP] Auf eine Variable aus meherer Klassen zugreifen Java Basics - Anfänger-Themen 22
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
BadBat Variablen Eine Variable mit 2 Typen Java Basics - Anfänger-Themen 38
S Cannot find symbol (symbol ist eine Variable) Java Basics - Anfänger-Themen 13
K String einlesen und als Variable speichern Java Basics - Anfänger-Themen 8
M Variable noch erstellen oder lieber so? Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben