Lire les valeurs de chaîne au format Java, Groovy

Je me demandais si il n'y a aucune bonne façon comment lire un des attributs de mise en forme de chaîne en Groovy, ou même en Java.

J'ai une chaîne de caractères contenant certains attributs séparés par un espace. Par exemple "2.1 20 quelque Chose de vrai". L'ordre est fixe et l'attribut "type" est connu (pour le premier exemple est Float, la seconde est de type Entier, etc.). J'ai besoin de quelque chose de similaire à la Chaîne.format (), mais en sens inverse.

Je sais que je peux diviser la chaîne manuellement et de lire les valeurs, mais cela rend le code trop compliqué comme ceci:

String[] parsedText = "2.1 20 Something true".split(delimiter)

try {
   firstVal = new Float(parsedText[0])
}
catch (NumberFormatException e) {
   throw new RuntimeException("Bad data [0th position in data string], cannot read[{$parsedData[0]}], cannot convert to float")
}
...

Est-il un meilleur moyen? Je suis assez sûr que, au moins dans Groovy est:-)

Merci!

OriginalL'auteur kuceram | 2012-09-04