Verschiedene Rückgabetypen(int int char)

Java-Freak

Bekanntes Mitglied
hallo
wie kann ich von einer funktion 3 werte zurückgeben lassen?
es geht um eine parse() methode, die 2 ints und 1 char zurückgeben sollen. ich habs mal mit ner ArrayList versucht aber es geht nicht die arrayList liefert mit indexOf(1) immer nur -1..:(
ich poste mal code...
Java:
public static ArrayList<Object> parse(String str){
		ArrayList<Object> set = new ArrayList<Object>(3);
		//hier parst dier methode die rückgabetypen aus dem string
                op = str.charAt(i);		
                firstInInt = Integer.parseInt(firstInString);
		secondInInt = Integer.parseInt(secondInString);
		set.add(firstInInt);
		set.add(secondInInt);
		set.add(op);
		System.out.println(set.get(2)); //liefert den korrekten wert
		return set;
	}
	public static int calculate(String bla){
		ArrayList<Object> g = parse(bla);
		System.out.println(g.indexOf(2));//liefert immer nur -1
		int first = (int)g.indexOf(0);
		int second = (int)g.indexOf(1);
		char oper = (char)g.indexOf(2);
		//hier berechnet die methode was aus den 3 werten
	}
//in der main steht nur calculate(einem string)
wie schon im code angemerkt liefert die array list beim parsen den korrekten wert aber danach komischerweise nicht
 

lordstege

Mitglied
Moin,

also wenn ich dich richtig verstehe möchtest du in deinem Beispiel auf das Element der ArrayList mit dem Index 2 zugreifen.
Du verwendest allerdings die Methode indexOf() dafür. Wirf mal n Blick in die API-Docs, dann dürftest du feststellen dass diese Methode die ArrayList nach dem Element "2" durchsucht, und dir den dazugehörigen Index liefert. -1 wird zurückgegeben wenn das Element nicht in der Liste vorkommt. ;-)

Für deine Zwecke würd ich dir also die get()-Methode vorschlagen ;-)

Java:
System.out.println(g.get(2));
bzw
Java:
char oper = (char)g.get(2);

Genau so wie du es in deiner parse()-Methode auch schon machst.

Gruß
lordstege
 

Java-Freak

Bekanntes Mitglied
ah ok vielen dank ;)
bei get habe ich jedoch das problem dass ich nicht von einem object aus der object list auf ein int oder char casten kann...
welchen typ nehme ich jetzt am geschicktesten für meine List?
edit: habs so gelöst, is vll nicht des geschicktest aber funktioniert:
Java:
public static int calculate(String bla){
		ArrayList<Object> g = parse(bla);
		System.out.println(Integer.parseInt(g.get(1).toString()));
		int first = Integer.parseInt(g.get(0).toString());
		int second = Integer.parseInt(g.get(1).toString());
		char oper = g.get(2).toString().charAt(0);
		System.out.println(oper);
 
Zuletzt bearbeitet:

lordstege

Mitglied
Da du deine Liste mit primitiven Datentypen (int) fütterst, und Java die automatisch in n Integer-Objekt verpackt (Wrapping) kannst du auch einfach mit
Code:
g.get(2).intValue()
an den int-Wert kommen.

Gruß
lordstege
 

eRaaaa

Top Contributor
Da du deine Liste mit primitiven Datentypen (int) fütterst, und Java die automatisch in n Integer-Objekt verpackt (Wrapping) kannst du auch einfach mit
Code:
g.get(2).intValue()
an den int-Wert kommen.

Gruß
lordstege

Dafür müsste er aber auch List<Integer> verwenden anstelle von List<Object>, denn so liefert get(..) einfach nur ein Objekt vom Typ Object..
Und btw: das automatische Umwandeln geht übrigens auch andersherum (unboxing) demzufolge würde es dann (bei richtiger Verwendung) auch ausreichen
Code:
int i = g.get(0);
zu schreiben, oder in seinem Fall [c]int i = (Integer) g.get(0);[/c]
 

eRaaaa

Top Contributor
das problem war doch dass ich List<Integer> eben nicht verwenden konnte , weil ich ja noch den char mit drin habe

Das ist mir schon klar, ich bezog mich auch nur auf meinen Vorredner .. :) (bzw wollte eig. nur klarstellen dass du eben nicht einfach schreiben kannst: [c]g.get(2).intValue()[/c] ..
Allerings könntest du dennoch deinen Ausdruck
Java:
int first = Integer.parseInt(g.get(0).toString());
ersetzen mit
Java:
int first = (Integer) g.get(0);
 

Java-Freak

Bekanntes Mitglied
ok, stimmt ;)
was ist eigentlich besser, casten oder mit parseXXX?
also ich meine was ist speicherintensiver?
edit: in dem fall warscheinlich das casten weil man sich die toString spart aber im allemeinen?
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Allgemein kann man da jetzt schlecht was zu sagen, bzw eig. ist das überhaupt nicht vergleichbar, was du da gemacht hast ist meiner Meinung nach eher ein ungewöhnlicher Fall ^^
Ein Integer ist und bleibt ein Integer..was du aber machst ist, du holst dir von dem Integer eine Stringrepräsentation und rufst dann noch die komplizierte parse-Methode auf um wieder einen Integer zu erhalten..wobei das alles total unnötig ist, da du ja bereits ein Integer vorliegen hast...???:L
 

Java-Freak

Bekanntes Mitglied
eigentlich hab ich keinen Integer vorliegen sondern ein Objekt, das ich in einen Integer umwandeln möchte da kann man das Object entweder gleich in einen Integer umwandeln oder über die toString(), was eigentlich ziemlich dumm war...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
capgeti Verschiedene Rückgabetypen ohne Typecast möglich? Java Basics - Anfänger-Themen 7
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I SWT Plattformunabhängig laden - verschiedene SWT .jar laden Java Basics - Anfänger-Themen 0
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
M JavaFX- Verschiedene Stages Java Basics - Anfänger-Themen 1
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
N verschiedene Reihenfolgen ausgeben Java Basics - Anfänger-Themen 15
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
B String auseinander nehmen in verschiedene Teile Java Basics - Anfänger-Themen 9
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
T Java verschiedene Anweisungen Java Basics - Anfänger-Themen 23
W Verschiedene Bibliotheken in einer Anwendung? Java Basics - Anfänger-Themen 2
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
P Erste Schritte durch MenuBar verschiedene Fenster öffnen Java Basics - Anfänger-Themen 2
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
GoldenShadow Input/Output Verschiedene Versionen von Input/Output Java Basics - Anfänger-Themen 3
I Drucken in Java / verschiedene Papierformate Java Basics - Anfänger-Themen 0
P Verschiedene Java Versionen nutzen Java Basics - Anfänger-Themen 6
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
S write(), weshalb verschiedene Ausgaben? Java Basics - Anfänger-Themen 4
E Erste Schritte Verschiedene Anfängerfragen (Rekursion, Terminierung, Schleife, etc.) Java Basics - Anfänger-Themen 5
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
O Verschiedene Farben in einer GUI Java Basics - Anfänger-Themen 15
R Klassen Mehrere/Verschiedene Objekte umcasten Java Basics - Anfänger-Themen 8
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
D Verschiedene Fragen zu meinem Projekt Java Basics - Anfänger-Themen 6
S textPane verschiedene formatierungen Java Basics - Anfänger-Themen 8
K Verschiedene JDK´s paralell nutzen? Java Basics - Anfänger-Themen 3
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
H 2 verschiedene Objekte in Liste mit Compareable sortieren Java Basics - Anfänger-Themen 7
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
N Verschiedene Klassen als Parameter elegant übergeben? Java Basics - Anfänger-Themen 4
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
R Verschiedene Jar Versionen nutzen Java Basics - Anfänger-Themen 14
D Umgebungsvariable verschiedene Werte von JAVA_HOME? Java Basics - Anfänger-Themen 4
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
F Info zwischen verschiedene Klassen austauschen Java Basics - Anfänger-Themen 4
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
Blindxantos Klassen in verschiedene Packages unterteilen Java Basics - Anfänger-Themen 2
F verschiedene Daten abspeichern Java Basics - Anfänger-Themen 13
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A Datentypen Verschiedene Threads synchronisieren Java Basics - Anfänger-Themen 3
D Mehrere verschiedene Farben pro fillRect Java Basics - Anfänger-Themen 3
M Verschiedene Werte in methoden Java Basics - Anfänger-Themen 3
K Verschiedene (Thread) Objekt-Positionen (int) in einem Array zusammenfassen Java Basics - Anfänger-Themen 3
S Datentypen Die verschiedene Java Datentypen [Anfänger] Java Basics - Anfänger-Themen 8
J OOP verschiedene Objekttypen ablegen Java Basics - Anfänger-Themen 4
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
S Verschiedene Arrays über Index aufrufen Java Basics - Anfänger-Themen 5
Developer_X in JEditorPane verschiedene Farben, verwenden Java Basics - Anfänger-Themen 7
C verschiedene Label auf Knopfdruck abrufen Java Basics - Anfänger-Themen 4
L Verschiedene Fonts für verschiedene Dialogelemente Java Basics - Anfänger-Themen 2
G Verschiedene Packages Java Basics - Anfänger-Themen 3
G Daten in verschiedene Listen schreiben Java Basics - Anfänger-Themen 5
C Zustandsanzeige durch verschiedene Klassen Java Basics - Anfänger-Themen 4
S verschiedene Versionen Java Basics - Anfänger-Themen 2
G Verschiedene Exceptions zu gleichem Block Java Basics - Anfänger-Themen 6
T verschiedene Anfängerfragen Java Basics - Anfänger-Themen 20
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
N Verschiedene Input/Output Klassen Java Basics - Anfänger-Themen 3
G verschiedene datentypen in arraylist Java Basics - Anfänger-Themen 14
L verschiedene JPanel-Instanzen erstellen Java Basics - Anfänger-Themen 8
L 2 verschiedene Typen in einer Tabelle ablegen Java Basics - Anfänger-Themen 18
N Problem mit Tastatureingaben für verschiedene Datentypen Java Basics - Anfänger-Themen 3
L verschiedene formuare in einem fenster öffnen Java Basics - Anfänger-Themen 8
I Array für verschiedene Datentypen? Java Basics - Anfänger-Themen 5
R verschiedene dateitypen öffnen Java Basics - Anfänger-Themen 5
L verschiedene zeichen einlesen Java Basics - Anfänger-Themen 5
C 2 verschiedene Tables = 2 verschiedene Renderer ? Java Basics - Anfänger-Themen 5
S mit Buttons verschiedene Bilder laden Java Basics - Anfänger-Themen 4
S klassen in verschiedene Dateien Java Basics - Anfänger-Themen 5
3 Verschiedene Fragen (bin neu hier) Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben