50,530
社区成员
发帖
与我相关
我的任务
分享
public TSource user;
public My(TSource source){
this.user=source;
}
@Override
public void where(Function<TSource, Object> predicate,String field) {
String name= user.getClass().getSimpleName();
System.out.println("表名:"+name+ "属性名:"+predicate+"属性值:"+predicate.apply(user));
predicate.apply(user);
Where.where(this,predicate, field);
}
public static void main(String[] args){
T_User user=new T_User(2,"1998");
Lin.asObject(user).where(c->c.user_name);
}
import java.util.function.Function;
/**
* Created by xxx on 2018/6/25.
*/
public class JavaTest {
public static void main(String[] args) {
User user = new User(1, "test", 12);
String name = Lin.asObject(user).where(u -> String.format("User:name = %s", u.name));
System.out.println(name);
}
static class Lin {
public static <T> Query<T> asObject(T obj) {
return new Query<>(obj);
}
}
static class Query<T> {
T t;
public Query(T t) {
this.t = t;
}
public <R> R where(Function<? super T, ? extends R> f) {
return f.apply(t);
}
}
static class User {
private Integer id;
private String name;
private Integer age;
public User(Integer id, String name, Integer age) {
public static void main(String[] args){
T_User user=new T_User(2,"1998");
Lin.asObject(user).where(c->c.user_name);
}
public static void main(String[] args){
T_User user=new T_User(2,"1998");
Lin.asObject(user).where(c->c.user_id);
}
public static <TSource> void where(My<TSource> source,Function<TSource, Object> predicate) {
System.out.println(predicate);
System.out.println(predicate.apply(source.user));
}
public void where(Consumer<? super T> consumer) {
consumer.accept(object);
}
Lin.asObject(user).where(u -> System.out.println(u.user_name));