Skip to content

Instantly share code, notes, and snippets.

@fuzhengwei
Created October 10, 2014 09:51
Show Gist options
  • Save fuzhengwei/9ab0806617545df7ee49 to your computer and use it in GitHub Desktop.
Save fuzhengwei/9ab0806617545df7ee49 to your computer and use it in GitHub Desktop.
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Leon
*
* @param <T>
*/
public class TestDao<T> {
public List<T> list(RowMapper<T> mapper) {
List<T> list = new ArrayList<T>();
list.add(mapper.map());
return list;
}
public static void main(String[] args) {
// TestDao<String> dao = new TestDao<String>();
//
// List<String> tList = dao.list(new RowMapper<String>() {
// @Override
// public String map() {
// return "abc";
// }
// });
// System.out.println(tList);
TestDao<User> dao = new TestDao<User>();
List<User> tList = dao.list(new RowMapper<User>() {
@Override
public User map() {
return new User();
}
});
System.out.println(tList);
}
}
interface RowMapper<T> {
T map();
}
class User {
private String name = "admin";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [name=" + name + "]";
}
}
@fuzhengwei
Copy link
Author

import java.util.ArrayList;
import java.util.List;

/**

  • @author Leon

  • @param
    */
    //比原有方法少了个
    public class TestDao{

    //比原有方法多了个
    public List list(RowMapper mapper) {
    List list = new ArrayList();
    list.add(mapper.map());
    return list;
    }

    public static void main(String[] args) {
    // TestDao dao = new TestDao();
    //
    // List tList = dao.list(new RowMapper() {
    // @OverRide
    // public String map() {
    // return "abc";
    // }
    // });

    // System.out.println(tList);
    
    TestDao dao = new TestDao();
    List<User> tList = dao.list(new RowMapper<User>() {
    
        @Override
        public User map() {
            return new User();
        }
    
    });
    
    System.out.println(tList);
    

    }
    }

interface RowMapper {
T map();
}

class User {

private String name = "admin";

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public String toString() {
    return "User [name=" + name + "]";
}

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment