Как судить строку - это тип UUID?

В моем проекте я использую UUID.fromString() для преобразования строки в UUID, но если строка не является типом UUID, она будет бросать exception, так как я могу проверить эту строку?

Ответы

Ответ 1

Вы должны использовать регулярное выражение, чтобы проверить его, например:

/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/

проверить его, например, 01234567-9ABC-DEF0-1234-56789ABCDEF0

или с помощью скобок

/^\{?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}‌​\}?$/

Ответ 2

Обрабатывать исключение и делать что-то в этом случае. Например:

try{
    UUID uuid = UUID.fromString(someUUID);
    //do something
} catch (IllegalArgumentException exception){
    //handle the case where string is not valid UUID 
}