Java?Lombok實現(xiàn)手機(jī)號碼校驗的示例代碼
手機(jī)號碼校驗通常是系統(tǒng)開發(fā)中最基礎(chǔ)的功能之一。在本文中,我們將會使用Java Lombok框架實現(xiàn)一個簡單的手機(jī)號碼校驗功能。Java Lombok是一個開源的Java庫,用于自動化生成Java類的代碼,它可以大大減少Java類的冗余代碼,提高程序員的開發(fā)效率。
一、添加Lombok依賴
首先,在項目的pom.xml文件中添加以下依賴:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>這里我們使用的是Maven構(gòu)建工具,如果您使用的是Gradle,則需要添加以下依賴:
implementation 'org.projectlombok:lombok:1.18.20' annotationProcessor 'org.projectlombok:lombok:1.18.20'
二、實體類中添加Lombok注解
在實體類中添加下面的Lombok注解:
import lombok.Data;
import lombok.NonNull;
@Data
public class User {
@NonNull
private String name;
// 添加正則表達(dá)式判斷手機(jī)號碼格式是否正確
@Pattern(regexp = "^[1][3,4,5,7,8][0-9]{9}$", message = "請輸入正確的手機(jī)號碼")
private String mobilePhone;
}在上面的例子中,我們使用了@Data注解,它可以在編譯期間自動為我們生成Java類的基本代碼,如getter、setter和toString。
同時,在mobilePhone字段上,我們使用了@Pattern注解進(jìn)行手機(jī)號碼格式的校驗。
三、使用實體類進(jìn)行手機(jī)號碼校驗
我們可以使用以下代碼對自定義的User類的mobilePhone字段進(jìn)行校驗:
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;
public class UserValidator {
public boolean isValid(User user) {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<User>> constraintViolations = validator.validate(user);
return constraintViolations.isEmpty();
}
}在上面的例子中,我們使用了Java Validation API進(jìn)行手機(jī)號碼校驗。使用這個API需要引入以下依賴:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>在isValid方法中,我們首先創(chuàng)建了一個Validator對象,然后調(diào)用它的validate方法對傳入的User對象進(jìn)行校驗。如果校驗結(jié)果中沒有錯誤信息,我們就返回true,否則返回false。
四、使用JUnit對手機(jī)號碼校驗進(jìn)行單元測試
以下是一個簡單的JUnit測試類,在測試方法中,我們通過構(gòu)建一個User對象并將其mobilePhone字段設(shè)置為不合法的值時,來檢查是否能捕獲到校驗錯誤:
import org.junit.Assert;
import org.junit.Test;
public class UserValidatorTest {
@Test
public void testMobilePhoneValidation() {
User user = new User();
user.setName("張三");
user.setMobilePhone("1234567890");
UserValidator userValidator = new UserValidator();
Assert.assertFalse(userValidator.isValid(user));
}
}五、完整代碼
以下是完整代碼,供參考:
1. User.java
import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.Pattern;
@Data
public class User {
@NonNull
private String name;
@Pattern(regexp = "^[1][3,4,5,7,8][0-9]{9}$", message = "請輸入正確的手機(jī)號碼")
private String mobilePhone;
}2. UserValidator.java
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;
public class UserValidator {
public boolean isValid(User user) {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<User>> constraintViolations = validator.validate(user);
return constraintViolations.isEmpty();
}
}3. UserValidatorTest.java
import org.junit.Assert;
import org.junit.Test;
public class UserValidatorTest {
@Test
public void testMobilePhoneValidation() {
User user = new User();
user.setName("張三");
user.setMobilePhone("1234567890");
UserValidator userValidator = new UserValidator();
Assert.assertFalse(userValidator.isValid(user));
}
}六、總結(jié)
在本文中,我們使用了Java Lombok和Java Validation API框架實現(xiàn)了手機(jī)號碼校驗功能。Lombok大大減少了Java類的冗余代碼,Validation API則使我們可以輕松地實現(xiàn)校驗功能。
到此這篇關(guān)于Java Lombok實現(xiàn)手機(jī)號碼校驗的示例代碼的文章就介紹到這了,更多相關(guān)Java Lombok手機(jī)號碼校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java天數(shù)計算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實現(xiàn)代碼
日常開發(fā)中會遇到關(guān)于日期的計算,比如當(dāng)月的天數(shù)、兩日期之間的天數(shù)、當(dāng)月剩余天數(shù)等等,這篇文章主要給大家介紹了關(guān)于java天數(shù)計算函數(shù)(當(dāng)前月天數(shù)、某月總天數(shù)及某月剩余天數(shù))4種方法實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-10-10
SpringBoot項目中多數(shù)據(jù)源配置方法與使用場景
在 Spring Boot 中配置多數(shù)據(jù)源是一個非常常見的需求,本文將為大家詳細(xì)介紹兩種主流的實現(xiàn)方式與使用場景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-07-07
javaCV開發(fā)詳解之推流器和錄制器的實現(xiàn)
這篇文章主要介紹了javaCV開發(fā)詳解之推流器和錄制器實現(xiàn),對JavaCV感興趣的同學(xué),可以參考下2021-04-04
Java使用Spire.Presentation for Java庫合并PowerPoint的技術(shù)教
在現(xiàn)代企業(yè)和個人開發(fā)中,文檔處理是不可或缺的一環(huán),尤其是在報告演示、內(nèi)容整合等場景下,PowerPoint 文件的自動化處理需求日益增長,本文將深入探討如何利用 Java 編程語言,結(jié)合強(qiáng)大的 Spire.Presentation for Java庫,實現(xiàn)PowerPoiont文件的合并2026-01-01
使用Java實現(xiàn)在Excel中創(chuàng)建下拉列表
下拉列表(下拉框)可以確保用戶僅從預(yù)先給定的選項中進(jìn)行選擇,這樣不僅能減少數(shù)據(jù)輸入錯誤,還能節(jié)省時間提高效率,下面我們就來看看如何在java中利用免費(fèi)庫實現(xiàn)創(chuàng)建下拉列表吧2024-03-03

