@ Jörg : Ich habe nicht "einfacher" geschrieben, weil es nicht "einfacher" ist.
Ich meinte wirklich "simpler". Simpler deshalb, weil man Code wiederverwendet, der (evtl.) dafür da ist, und man nicht eine oder zwei Funktionen baut, die am Ende doch wieder fast das Gleiche machen.
Zu "Deiner" Lösung habe ich zudem überhaupt nichts gesagt,
hier steht ja noch nicht einmal was Konkretes zu Regexp, und der Threadstarter hat Deine Frage auch noch nicht beantwortet.
BigInteger ist natürlich nicht Pflicht, dann nimmt man eben einen int und "Integer.parseInt(<String>,2)" .
Was genau man einsetzt hängt von der Situation ab.
Vielleicht wirft man sowieso eine eigene Exception, wenn der String
"unpassend" ist, vielleicht will man den Wert auch erst testen, um ihn danach zu parsen, dann machen die erwähnten Funktionen noch mehr Sinn.
Es sollte doch eigentlich Sinn der Sache sein, verschiedene Wege aufzuzeigen, vor allem, wenn nicht klar ist, was die genaue Anforderung ist, bzw. vor dem Hintergrund, dass hier dauernd auf die Suchfunktion verwiesen wird.
Ich habe bewusst nicht geschrieben "Warum machst Du nicht ... ?" sondern gefragt, ob es anders nicht auch geht.
Ich habe noch nicht einmal behauptet, dass dieser Weg besser oder passender ist, das soll der Threadersteller entscheiden.
-- -- muckelzwerg