logo
 
?

честный как проверить

И поверьте, вам не хочется отлаживать его или адаптировать для других типов.

При этом решения, основанные на паттернах, не будут учитывать локаль и разрешённые разделители разрядов.

Так что попробовать распарсить и поймать исключение — практически единственно правильное решение.

Character Delegator() // код @Sergey Complex Matcher() // код @Vlad D Number Utils Delegator() // мой код Simple Matcher() // код @ivkremer (для простых чисел) Guava Delegator() // код @Nofate♦ Simple Matcher With Dot() // код @ivkremer (для чисел с точкой) Simple Parser() // оригинальный код от @pol Guava Complex Delegator() // модифицированный вариант кода @Nofate♦ для Float Inner Set Impl() // мой специфический вариант А вот самое интересное - это время работы данного кода. Character Delegator Ints: 125ms Numbers: 67ms Numbers with 25% errors: 50ms Small Ints: 43ms Start performance test for

Complex Matcher Ints: 10825ms Numbers: 11134ms Numbers with 25% errors: 10606ms Small Ints: 10380ms Start performance test for

Inner Set Impl Ints: 50ms Numbers: 52ms Numbers with 25% errors: 54ms Small Ints: 42ms Start performance test for

Number Utils Delegator Ints: 111ms Numbers: 91ms Numbers with 25% errors: 99ms Small Ints: 51ms Start performance test for

Simple Matcher Ints: 1072ms Numbers: 853ms Numbers with 25% errors: 847ms Small Ints: 766ms Start performance test for

Guava Delegator Ints: 131ms Numbers: 108ms Numbers with 25% errors: 124ms Small Ints: 119ms Start performance test for

Simple Matcher With Dot Ints: 3069ms Numbers: 5855ms Numbers with 25% errors: 5484ms Small Ints: 2548ms Start performance test for

Simple Parser Ints: 157ms Numbers: 2189ms Numbers with 25% errors: 2117ms Small Ints: 81ms Start performance test for

Guava Complex Delegator Ints: 980ms Numbers: 943ms Numbers with 25% errors: 1016ms Small Ints: 837ms Тест построен следующим образом Из приведенных выкладок видно, что Number Utils работает быстрее всего.