Beliebigen Datentypen aus String parsen

Lybrial

Bekanntes Mitglied
Hallo liebe Leute,

ich stehe vor einer Aufgabe die ich lösen muss. Und zwar bekomme ich haufenweise Strings
übergeben. Hier mal eine Beispielliste:

Java:
1. "1.07"
2. "false"
3. "Der Papa"
4. "Es ist 37 Grad warm"
5. "That's true"
6. "37"
7. "2012-12-04"

Ich muss mir jetzt jeden String angucken und prüfen, ob ich den Inhalt in irgendeinen
primitiven Datentypen parsen kann, ansonsten soll es ein String bleiben.

1. => Double
2. => Boolean
3. => String
4. => String
5. => String
6. => Integer
7. => Date

Wie sollte ich das am besten angehen? Wenn ich jetzt z.B. Teste, ob der Double-Wert
aus dem String in ein Integer "parsbar" ist, wird mir dann eine Exception geworfen oder
würde der einfach das Komma wegschneiden und die Eins reinparsen? Das wäre nämlich
schon ein Problem :D
 

chalkbag

Bekanntes Mitglied
Du kannst für jeden Datentyp einen "Cast" mit z.B. Double.valueOf("wert") machen. ist der Wert nicht gültig, bekommst du eine Exception (z.b. NumberFormatException).
Dann würde ich jeden Cast in eine (statische) Methode auslagern. Diese führt dann den Cast durch, wenn eine exception auftritt, dann gibst du false zurück, ansonsten true. Mit diesen Methoden kannst du dann abfragen, welche Datentypen bei gegebenen Wert möglich sind.

Skizze:

Java:
public static boolean isDouble(String value){
    try{
        double newValue = Double.valueOf(value);
    }catch(NumberFormatExceptin nfe){
        return false;
    }
    return true;
}
 
Zuletzt bearbeitet:

Lybrial

Bekanntes Mitglied
Funktioniert wunderbar!

Java:
public class Test {
	
	/**
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		String[] samples = {"1.07", "false", "Der Papa", "Es ist 37 Grad warm", "That's true", "37", "2012-12-04"};
		
		for(String sample : samples) {
			System.out.println("Integer: " + checkInteger(sample));
			System.out.println("Float: " + checkDouble(sample));
			System.out.println("Date: " + checkDate(sample));
			System.out.println("Boolean: " + checkBoolean(sample));
		}
	}
	
	
	public static boolean checkDouble(String string) {
		try {
			double newValue = Double.valueOf(string);
		} catch(NumberFormatException e) {
			return false;
		}
		
		return true;
	}
	
	public static boolean checkInteger(String string) {
		try {
			int newValue = Integer.valueOf(string);
		} catch(NumberFormatException e) {
			return false;
		}
		
		return true;
	}
	
	public static boolean checkDate(String string) {
		try {
			Date newValue = Date.valueOf(string);
		} catch(IllegalArgumentException e) {
			return false;
		} 
		
		return true;
	}
	
	public static boolean checkBoolean(String string) {
		if(string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
			return true;
		}
		
		return false;
	}
}
 
F

fisherman

Gast
Lybrial hat gesagt.:
Java:
double newValue = Double.valueOf(string);
Und da nicht in die Irre zu leiten: Hier findet auch noch Unboxing statt, die Methode gibt ein Double-Objekt zurück.
Die Methode
Java:
Double.parseDouble(string)
gibt den primitiven Datentyp zurück.

Geht beides, man sollte sich des Autoboxings eben bewusst sein.
 

Lybrial

Bekanntes Mitglied
Jo das mit dem Autoboxing ist klar. Aber Danke trotzdem für den Hinweis.
Wenn man das nicht weiß, kann das zu Problemen führen :D
 

kaoZ

Top Contributor
Oder du schreibtst dir einfach eine Utility Klasse die das Parsen für dich übernimmt und mit
Code:
.getClass()
oder
Code:
instanceOf
dementsprechende Fallunterscheidungen durchführt :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
S String trennen nach beliebigen Zeichen Java Basics - Anfänger-Themen 3
M Beliebigen Text in *** umwandeln Java Basics - Anfänger-Themen 15
I Schachbrett aus beliebigen Strings erstellen Java Basics - Anfänger-Themen 3
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
T Programm das beliebigen String komprimiert Java Basics - Anfänger-Themen 9
M Methode mit beliebigen Parametern in abstrakter Klasse definieren Java Basics - Anfänger-Themen 8
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
S Gaussche Normalverteilung in einem beliebigen Intervall Java Basics - Anfänger-Themen 5
N Mous Click in einer beliebigen Aplikation auslösen Java Basics - Anfänger-Themen 2
N Instanzen von beliebigen Klassen aus dem Filesystem erzeugen Java Basics - Anfänger-Themen 7
G Klasse von einem beliebigen Ordner aus starten Java Basics - Anfänger-Themen 2
C sortieren von Arrays mit beliebigen Objekten Java Basics - Anfänger-Themen 2
J Teiler einer beliebigen Zahl ermitteln. Java Basics - Anfänger-Themen 19
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
T Unterschiedliche Datentypen - worin abspeichern? Java Basics - Anfänger-Themen 18
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
J Einige Anfängerfragen (Datentypen, Wertebereich) Java Basics - Anfänger-Themen 11
thor_norsk Datentypen unter Java Java Basics - Anfänger-Themen 3
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
G Methoden Methoden mit versch. Datentypen Java Basics - Anfänger-Themen 1
Nicolex3 Größere Datentypen Java Basics - Anfänger-Themen 35
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
W Vergleiche bei generischen Datentypen Java Basics - Anfänger-Themen 7
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
M Datentypen Generische Datentypen - Syntax Java Basics - Anfänger-Themen 25
L Binären Bäume für beliebige Datentypen Java Basics - Anfänger-Themen 15
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
T Datentypen Kann Java 2 verschiedene Datentypen vergleichen? Java Basics - Anfänger-Themen 2
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
SHasteCode Datentypen Überlauf primitiver Datentypen Java Basics - Anfänger-Themen 4
S Datentypen Java Basics - Anfänger-Themen 14
Antegra Tekkrebell Primitive Datentypen Literal 8072 Java Basics - Anfänger-Themen 21
N Array gleiche Datentypen zusammenrechnen Java Basics - Anfänger-Themen 28
S Datentypen Java Basics - Anfänger-Themen 4
S generische methode mit verschiedenen datentypen Java Basics - Anfänger-Themen 3
H wählen des kleinstmöglichen Datentypen für Gleitkommazahlen. Java Basics - Anfänger-Themen 2
S Datentypen Java Basics - Anfänger-Themen 2
S Datentypen Abstrakte Datentypen Java Basics - Anfänger-Themen 0
J Zusammenhang Numbers und nummerische Datentypen Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
A Abstrakte Datentypen - Methode delete Java Basics - Anfänger-Themen 6
J Generics Datentypen vergleichen Java Basics - Anfänger-Themen 16
D Spezifikation abstrakter Datentypen Java Basics - Anfänger-Themen 3
W Datentypen Datentypen vergleichen Java Basics - Anfänger-Themen 4
B JAVA Datentypen/Überlauf Java Basics - Anfänger-Themen 4
I Erste Schritte HILFE bei Datentypen Java Basics - Anfänger-Themen 2
J Wertebereiche und Datentypen Java Basics - Anfänger-Themen 12
N Methode mit 2 Datentypen. Fehler? Java Basics - Anfänger-Themen 1
N Probleme mit Datentypen Java Basics - Anfänger-Themen 6
S Datentypen Unterschied elementare und zusammengesetzte/strukturierte Datentypen Java Basics - Anfänger-Themen 5
M Wann eine Wrapper Klasse verwenden und wann einen primitiven Datentypen? Java Basics - Anfänger-Themen 8
K new / Datentypen Java Basics - Anfänger-Themen 3
S Datentypen und ihre Größe Java Basics - Anfänger-Themen 21
T Variablen Varargs und beliebige Datentypen Java Basics - Anfänger-Themen 7
S Datentypen Sonderbehandlung primitiver Datentypen, fixe Konstanteninterpretation Java Basics - Anfänger-Themen 10
G Wertebereiche bei Datentypen Java Basics - Anfänger-Themen 10
G Erste Schritte Über verschiedene Datentypen iterieren. Gibt es sowas? Java Basics - Anfänger-Themen 19
SheldoN Gibt es größere Datentypen als long? Java Basics - Anfänger-Themen 2
S Abfrage Objekt-Array nach Datentypen Java Basics - Anfänger-Themen 6
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
H Mehrer Datentypen aus einer Methode ausgeben. Java Basics - Anfänger-Themen 25
O Array mit unterschiedlichen Datentypen ausgeben... Java Basics - Anfänger-Themen 16
A Generische Datentypen Java Basics - Anfänger-Themen 8
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
T ArrayList mit verschiedenen Datentypen verhindern Java Basics - Anfänger-Themen 8
N Bedingung für Datentypen Java Basics - Anfänger-Themen 3
R Array aus verschiedenen Datentypen Java Basics - Anfänger-Themen 29
J Datentypen Datentypen Java Basics - Anfänger-Themen 7
S Datentypen Array fill Methode - unterschiedliche Datentypen Java Basics - Anfänger-Themen 6
H null und primitive Datentypen Java Basics - Anfänger-Themen 6
N ArrayList mit eigenem Datentypen Java Basics - Anfänger-Themen 3
B Wie kann ich unterschiedliche Datentypen in einem Feld abbilden? Java Basics - Anfänger-Themen 5
S Datentypen Die verschiedene Java Datentypen [Anfänger] Java Basics - Anfänger-Themen 8
M Frage zu Datentypen Java Basics - Anfänger-Themen 4
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
O Rückgabewert mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 10
S Nicht Primitive Datentypen Java Basics - Anfänger-Themen 5
C Verwendung von primitiven Datentypen Java Basics - Anfänger-Themen 8
Spin Eigenen Abstrakten Datentypen Java Basics - Anfänger-Themen 28
J Datentypen Rechnen mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 3
B Wieviele bits belegen die Datentypen? Java Basics - Anfänger-Themen 2
S Alle Datentypen in byte Array und zurückwandeln Java Basics - Anfänger-Themen 2
C Explizite und implizite Datentypen Java Basics - Anfänger-Themen 12
F primitive Datentypen, String, Klassen Java Basics - Anfänger-Themen 16
Povlsen84 HashSet mit eigenen Datentypen Java Basics - Anfänger-Themen 6
J Verschieden Datentypen in ein "Array" Java Basics - Anfänger-Themen 13
M HashMap mit primitiven Datentypen Java Basics - Anfänger-Themen 10
SebSnake Operatoren für eigene Datentypen Java Basics - Anfänger-Themen 3
G Frage zum Ungang mit Generische Datentypen Java Basics - Anfänger-Themen 4
G Überladen von Konstruktoren mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 4
R datentypen konvertierung u modulorechnung Java Basics - Anfänger-Themen 15
G primitive Datentypen als Referenz an eine Methode übergeben Java Basics - Anfänger-Themen 2
G Wertebereiche und Datentypen Java Basics - Anfänger-Themen 3
W Datentypen in JAva Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben