日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java 登陆验证失败_使用Java 8流进行快速失败的验证

發布時間:2023/12/3 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 登陆验证失败_使用Java 8流进行快速失败的验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java 登陸驗證失敗

我已經失去了看過使用快速失敗驗證代碼狀態的代碼的次數,方法如下:

public class PersonValidator {public boolean validate(Person person) {boolean valid = person != null;if (valid) valid = person.givenName != null;if (valid) valid = person.familyName != null;if (valid) valid = person.age != null;if (valid) valid = person.gender != null;// ...and many more} }

它可以工作,但是由于有效的檢查,它是一種充滿重復性的蠻力方法。 如果您的代碼樣式對if語句強制使用大括號(為此,則為+1),則您的方法也將長三倍,并且每次向驗證器中添加新檢查時都會增長。

使用Java 8的新流API,我們可以通過采取if (valid)的保護條件并制作一個通用的驗證器來為您處理管道來改善這一點。

import java.util.LinkedList; import java.util.List; import java.util.function.Function;public class GenericValidator implements Function {private final List> validators = new LinkedList<>();public GenericValidator(List> validators) {this.validators.addAll(validators);}@Overridepublic Boolean apply(final T toValidate) {// a final array allows us to change the boolean value within a lambdafinal boolean[] guard = {true};return validators.stream()// only send the validator downstream if// previous validations were successful.filter(validator -> guard[0]).map(validator -> validator.apply(toValidate))// update the guard condition.map(result -> {guard[0] = result;return result;})// Logically AND the results of the applied validators.reduce(guard[0], (b1, b2) -> b1 && b2);} }

使用此方法,我們可以將Person驗證器重寫為所需驗證的規范。

public class PersonValidator extends GenericValidator {private static final List> VALIDATORS = new LinkedList<>();static {VALIDATORS.add(person -> person.givenName != null);VALIDATORS.add(person -> person.familyName != null);VALIDATORS.add(person -> person.age != null);VALIDATORS.add(person -> person.gender != null);// ...and many more}public PersonValidator() {super(VALIDATORS);} }

PersonValidator和您所有其他的驗證器現在可以完全專注于驗證。 行為沒有改變-驗證仍然很快失敗。 沒有樣板,這是一件好事。

這個正在工具箱中進行。

翻譯自: https://www.javacodegeeks.com/2015/01/fail-fast-validations-using-java-8-streams.html

java 登陸驗證失敗

總結

以上是生活随笔為你收集整理的java 登陆验证失败_使用Java 8流进行快速失败的验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。