现在搞不清楚是extends还是implements了
楼主这样说不知道什么意思,你要写一个方法转换字符还是实现接口ResultSet?

解决方案 »

  1.   

    在现有方法上进行扩展,为getString方法加上转码的功能
      

  2.   

    你想继承ResultSet并且重写getString方法吗?我觉得那样太麻烦了。
    还不如直接写一个转码的方法,
     String toGBK(String str){}
    然后
    String s=rs.getString("name").toGBK();
      

  3.   

    楼上,哪能直接rs.getString("name").toGBK();这样访问的啊?你的意思是继承String?那不更麻烦?
      

  4.   

    顺便问个弱弱问题,有时候我们只能看到ResultSet这个借口,但是看不到实现了ResultSet的那个类,从而无法继承之,然后覆写那个getString方法,这是为什么?
      

  5.   

    楼上的,我也迷惑呢,一直以为是个CLASS,谁知道是个INTERFACE都不知道怎么实现的
      

  6.   

    如果是interface,java编译器必须找到一个继承它的默认类来执行啊。但是看了API,继承的也都是interface,那样还是要有具体类来继承的啊。rs=Stmt.executeQuery("select * from test");
    看这段代码就知道返回了一个类给这个interface,不过不知道返回的是什么具体类。不管返回的是什么类,它的外表都是ResultSet这个interface,所以楼主还是可以自己重写getString()这个方法的。“在现有方法上进行扩展,为getString方法加上转码的功能”
      

  7.   

    debug的时候看下rs具体是什么。然后修改这个类的getString方法
      

  8.   

    debug的时候如果是jb的话,鼠标指上去会显示他具体实例的是那个对象。
    修改这个对象类里面的getString方法。
      

  9.   

    加一个转换的静态工具方法,就可以了。
    public static String toGBK(String str){
    return new String(str.getBytes("iso-8859-1"), "GBK");
    }然后
    toGBK(rs.getString(3));
      

  10.   

    chenxb1980,我不想要这个效果,是想了解RESULTSET到底是怎么扩展不是找变通的方法
    还有各位老大们,难道都不能调试一下吗?给出笼统的方法,我还用问的这么辛苦吗?
      

  11.   

    rs.getStringGBK(String arg0)
    ---------------------
    很不想打击楼主的说,你这个方法出来的概率比0大不了多少.你实际使用的时候得到的ResultSet事实上是某个特定的驱动程序对ResultSet的实现,你达到getStringGBK()的可能途径是动态的构建驱动程序的ResultSet的实现的子类或者xxxx(用某种Adapt模式),据说cglib可以做这个,但是俺就不知道怎么用了.