publicclassCheck{/**
* if not null return ? if null return null
*
* @param r
* @param a
* @param <R>
*/publicstatic<R, T> T els(R r, SFunction<R, T> a){if(null == r){return null;}return(T) a.apply(r);}/**
* if not null return ? if null return defaultValue
*
* @param r
* @param a
* @param <R>
*/publicstatic<R, T> T els(R r, SFunction<R, T> a, T defaultValue){if(null == r){return defaultValue;}
T t =(T) a.apply(r);return t == null ? defaultValue : t;}}
package com.dqw.check;import java.io.Serializable;@FunctionalInterfacepublicinterfaceSFunction<T, R>extendsSerializable{/**
*
* <p>Title: apply</p>
* <p>Description: </p>
* @param t
* @return
*/
R apply(T t);}