BeanListHandler<T> implements ResultSetHandler<List<T>>这里面BeanListHandler<T>实现了这个接口,那么这个类里面的T类型一定只能是List<T>这种形式的么?我能不能这样写BeanListHandler<String>?谢谢!本人菜鸟,见谅:)

解决方案 »

  1.   

    那个T表示任意的意思,这是在类定义的时候用到的,在具体应用、具体new对象的时候,就可以换成String或者其它任意封装类型了。
      

  2.   

    class BeanListHandler<List<T>> implements ResultSetHandler<List<T>>{
        //class body
    }ResultSetHandler<List<String>> strRSH = new BeanListHandler<List<String>>();
      

  3.   

    假如 ResultSetHandler 里面定义了一个方法如下:
    public interface ResultSetHandler<R> {
      
      R getResult();
    }
    那么 BeanListHandler 的声明就是说它一定会实现这样一个方法:
    class BeanListHandler<T> implements ResultSetHandler<List<T>> {  @Override
      List<T> getResult();
    }
    那么一个 BeanListHandler<String> 的实例,可以这样调用:
    BeanListHandler<String> bh = someGetMethod();
    List<String> result = bg.getResult();
      

  4.   

    上面第二段代码有点问题,这样写:class BeanListHandler<T> implements ResultSetHandler<List<T>> {
     
      @Override
      public List<T> getResult() { ... }
    }