大家好!请问要想在一个集合或一个数组中如何存储若干不同的数据类型的数据?以前好像在哪本java相关的书上看到过,现在记不起来了!本来想看看jdbc的ResultSet的源码,没找到,ResultSet好像是不是可以在里面存储不同的数据类型,而且还是关键字—值对的?不太清楚,请各位大侠帮帮忙,谢谢!

解决方案 »

  1.   

    Object[] array = new Object[10];
    array[0] = "abc";
    array[1] = new Date();
    array[2] = new int[] {1,2,3};
    array[3] = null;
    array[4] = new String[] {"abc", "xyz"};
    array[5] = array;
    ...
      

  2.   

    呵呵,我本来是想问jdk里面是不是已经有了这么个工具类!你的这个实现很有意思,但是jdbc的ResultSet里面的getInt、getDouble等系列方法是怎么实现的,知道吗?我就是想问问这个,好像在ResultSet里面有一个key-value对,然后可以根据不同的数据类型进行检索,很有意思,可惜我弄不到源码!
      

  3.   

    用HashMap<String,Object>....试试看。与2楼大同小异
      

  4.   

    这样的可以吗?我也没看过ResultSet的源码public class TestHashMap {
    private Map<String, Object>map;
    public TestHashMap(Map<String, Object>map) {
    this.map=map;
    }
    public String getString(String str){
    return (String)map.get(str);
    }
    public  int getInt(String str){
    return (Integer)map.get(str);
    }
    public static void main(String[] args){
    Map<String, Object>map=new HashMap<String, Object>();
    map.put("1", "String");
    map.put("2", 2);
    TestHashMap resultSet=new TestHashMap(map);
    System.out.println(resultSet.getString("1"));
    System.out.println(resultSet.getInt("2"));
    }
    }
      

  5.   

    这个。。 ResultSet和集合类之间不是同一类型,ResultSet里面如何实现的,都是它自己定义的,你也可以写个类getInt,Double之类的。
      

  6.   

    Map<String, List> resultList = new HashMap<String, List>();
      

  7.   

    呵呵,有理,把各种数据类型加引号变成字符串,再用包装类转!!!
    还是想知道ResultSet对数据库每一行是怎么表示的!
      

  8.   

    java.sql.ResultSet只是个接口,具体实现是各个jdbc提供商自己实现的。
      

  9.   

    你可以看下源码实现 里面有个com.mysql.jdbc.ResultSet.java
    http://dev.mysql.com/downloads/connector/j/5.1.html
      

  10.   

    不要在一个数组或集合里放不同类对象,而且没有继承关系。
    显然同类才能划为一组,不同类的放进去容易,取出来就难处理了。
    ResultSet不是集合。