1. 程式人生 > >java8函數語言程式設計之Consumer

java8函數語言程式設計之Consumer

Consumer< T>介面接受一個T型別引數,沒有返回值。

public interface Consumer<T> {

    void accept(T t);

    default Consumer<T> andThen(Consumer<? super T> after) {
        Objects.requireNonNull(after);
        return (T t) -> { accept(t); after.accept(t); };
    }
}

簡單示例:

public class Accept {
		public static void main(String[] args) {
			UserVo userVo=new UserVo();
			System.out.println("輸出結果:"+userVo.getAccount());//輸出結果:null
			setNullValues(userVo.getAccount(),"admin",(str) -> userVo.setAccount(str));
			System.out.println("輸出結果:"+userVo.getAccount());//輸出結果:admin
			
		}

		private static void setNullValues(Object object, String s, Consumer<String> consumer) {
			if(Objects.isNull(object)){
				consumer.accept(s);
			}
		}
}

由此可以延伸出更多的實際開發的用法