我是个java初学者!请教大侠们如何获取ArrayList中item的名称?如下这段小程序
public static void main(String[] args) {
List l = new ArrayList();
                   String s="qq";
                   l.add(s);         
}
我如何获取到l中的String对象名称s?不是通过get(0)获取s的内容“qq”

解决方案 »

  1.   

    你这个引用是指向栈中,所以别无它法获取这个qq  除非你拿到这个引用地址才可以去访问,通过获取s的引用地址去找到这个qq,但那样的话会走很多弯路
      

  2.   

    for (int i=0; i< l.size(); i++) {
      // 遍历列表中的元素
      String s = (String) l.get(i);
    }
      

  3.   

    LZ你是想获得"qq"这个对象的引用s吧,也就是获得指向“qq”这个对象的地址了如果你硬说要得到s,那么只能是"qq"的地址了
    关于对象的地址:
    执行System.out.println(obj);时,如果obj所属类中没有覆写toString()方法,那么它调用的就是Object类中的toString()方法中返回的是:getClass().getName()   +   "@"   +   Integer.toHexString(hashCode())而hashCode()未覆写时,就是对象的地址。
      

  4.   

    通过ArrayList地址找到它的值有些麻烦了。

    随便提一下,用Map类通过key找value。
    Map map=new HashMap();
    String s="qq";
    map.put("s",s);
    System.out.print((String)map.get("s")); )
      

  5.   


    遍历 去 查找的 你想要的 元素 ,list只能 这样 去做了 如果是map的话 可以 直接 get(key);时间复杂度0(1)
      

  6.   

       
      简单啊!!! 
        使用get.name 方法啊
      

  7.   

    s 只是一个变量名称,是给代码编写者看的,不是跟编译器和解释器看的,这些变量名在编译之后编译器就把它给扔掉了,换成 JVM 所能看得懂的指令了。
      

  8.   

    用get或者iteror都可以取到里面的值
      

  9.   

    这个"s"对你来说有那么重要么?如果重要的话就用map吧。
      

  10.   


    搞笑了,哪有这样方法,ArrayList  get方法参数只有int类型,
    如果你想要获得s
    List l = new ArrayList(); 
         String s="qq"; 
          l.add(s);   int index=l.indexOf("qq");
    String resultValue=(String)l.get(index);这样就取出值了
      

  11.   

    理论上行不通,
    "qq"与s并没有必然的联系:
    "qq"是存放在堆里的一个字符串对象,而s只是临时指向"qq"的指针,我们可以随时把它指向其它的对象,如: s=null;也可以让其它指针指向"qq",比如写一句:String b=s;(这里b与s都指向"qq")反过来想,假设Java提供一种机制可以从对象反向查找指向它的指针,那么你怎么从众多指向它的指针找出你需要的?
    以上面例子来说,s与l的第一个元素都指向"qq"。
      

  12.   

    楼主是什么意思啊,看后面的回复迷茫了。不是直接get(0)就行了嘛,java里面又没有指针这个概念,所有类变量都是引用类型啊