Function函数型接口
public interface Function<T, R> {
R apply(T t);
}
public class test1 {
public static void main(String[] args) {
Function function = new Function<String, String>() {
@Override
public String apply(String str) {
return str;
}
};
Function<String,String> function = (str)->{return str;};
System.out.println(function.apply("asdf"));
}
}
Predicate判断型接口
public interface Predicate<T> {
boolean test(T t);
}
public class test2 {
public static void main(String[] args) {
Predicate<String> predicate = new Predicate<String>() {
@Override
public boolean test(String s) {
return s.isEmpty();
}
};
Predicate<String> predicate = (string)->{
return string.isEmpty();
};
System.out.println(predicate.test("hello"));
}
}
Consumer消费型接口
public interface Consumer<T> {
void accept(T t);
}
public class test3 {
public static void main(String[] args) {
Consumer<String> consumer = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
Consumer<String> consumer = (string)->{
System.out.println(string);
};
consumer.accept("hello");
}
}
Supplier供给型接口
public interface Supplier<T> {
T get();
}
public class test4 {
public static void main(String[] args) {
Supplier<String> supplier = new Supplier<String>() {
@Override
public String get() {
return "1024";
}
};
Supplier<String> supplier = ()->{
return "1024";
};
System.out.println(supplier.get());
}
}
总结
public class ConsumerPractice {
public static void main(String[] args) {
Consumer<String> a=b-> System.out.println(b);
a.accept("hello");
Function<Integer,String> ad=b->b.toString();
System.out.println(ad.apply(11));
Predicate<String> ac=b->b.isEmpty();
System.out.println(ac.test("hello"));
Supplier<String> ae= ()-> "a";
System.out.println(ae.get());
}
}