public class StringToPhoneNumberConverter implements Converter<String, PhoneNumberModel> {
Pattern pattern = Pattern.compile("^(\\d{3,4})-(\\d{7,8})$");
public PhoneNumberModel convert(String source){
if(!StringUtils.hasLength(source)){
//if "source" is empty, return null
System.out.println("dsads");
return null;
}
System.out.println("dqwdwwdqwq");
Matcher matcher = pattern.matcher(source);
if(matcher.matches()){
//If it matches, start converting
PhoneNumberModel phoneNumber = new PhoneNumberModel();
phoneNumber.setAreaCode(matcher.group(1));
phoneNumber.setPhoneNumber(matcher.group(2));
System.out.println("dsads");
return phoneNumber;
}else{
System.out.println("dsadsqqdwqqqqqqqqqqqqq");
//If it doesnt match throw an exception
throw new IllegalArgumentException(String.format("Failed to change the string to a phone number. The format is supposed to be [010-12345678], not [%s]", source));
}
}
}
Метод бросил IllegalArgumentException, когда я конвертировать («dsadsdwqdwqqqqqqqqqqqq»). Когда я помещал код, который выдавал исключение при тестировании, я нашел сообщение об исключении в консоли. Извините за плохой английский.IllegalArgumentException появился, когда не предполагается
Пожалуйста, введите код в вопрос, а не как изображение! –
Это не простой вопрос Java, добавьте тег с каркасом, который вы используете, и который содержит интерфейс конвертера. – tak3shi