N
nixe
Gast
Wie kann ich aus nem String nen BigInteger machen?
String str = "123456789";
java.math.BigInteger bi = new java.math.BigInteger(str);
Und die findet man hier.L-ectron-X hat gesagt.:Kann man alles in der API-Dok erlesen.
Du kannst dem Konstruktor von BigInteger schon den String übergeben. Dieser liefert dann ein BigInteger-Objekt zurück. Kann man alles in der API-Dok erlesen.Code:String str = "123456789"; java.math.BigInteger bi = new java.math.BigInteger(str);
Wär doch sinnfrei, das Rad nochmal nue zu erfinden, oder?Kann mir jemand sagen, wie ich einen String auf seine Konvertierbarkeit nach BigInteger hin testen kann, OHNE eine NumberFormatException werfen zu lassen?
Wär doch sinnfrei, das Rad nochmal nue zu erfinden, oder?
Denn genau dafür ist doch die NumberFormatException da...
Am besten du fängst die NumberFormatException und reagierst darauf.
Nein, pauschal unsauber ist das nicht, du musst ja nicht die NFE werfen und dann dein Progamm abbrechenSo sinnfrei finde ich das gar nicht. Exceptions sind Ausnahmen und sollten nicht zur Regel gemacht, also in die normale Programmlogik eingebaut werden. Das ist unsauber.
Nein, pauschal unsauber ist das nicht, du musst ja nicht die NFE werfen und dann dein Progamm abbrechen
Einfach eine Methode schireben die einen String als Parameter hat und einen boolean zurückgibt, die Methode darf dann auch zB. [c]isValidBigInteger[/c] heissen.
In der Methode dann dein try/catch Block, ca. 4-5 Zeilen insgesamt
Was gegen RegEx spricht?
RegEx sind komplex, die Chance dass man da Fehler einbaut (also sog. "false positives" bekommt) ist recht hoch, ausserdem müsste die RegEx ganuso funktionieren muss wie value(..) bzw. parse..(..) -> Redundanz
Dazu kommt dass RegEx eine zus. Sprache darstellen, und damit die Komplexität vom Quellcode auch wieder steigt und mehr Chancen für Fehler vorhanden sind.