日期:2014-05-20  浏览次数:20748 次

List元素的类别问题
读一个文件放在List中,然后想将List中的元素转化为Long型。
文件格式:
1177503586493
1177503586493
1177503586493
1177503586493
1177503586493

大概代码:
fromFile(String   filename){

        try{
        FileReader   reader   =   new   FileReader(filename);
        BufferedReader   buff   =   new   BufferedReader(reader);                
                String   line;  
        while   ((line   =   buff.readLine())   !=   null){
        list.add(line);        
        }        
        buff.close();
        reader.close();
        }
        catch   (IOException   e){
        System.out.println( "Error   -- "   +   e.toString());        
        }
        return   list;
        }

pubic   void   Check   (){

          Long   buffer;
          List   bufferlist;

          bufferlist   =   fromFile(filename);
          for   (ing   i   =   0;   i   <   bufferlist.size();   i++   )
          buffer   =   Long.parseLong(bufferlist.get(i))
}

错误提示   cannot   resolve   symbol
symbol     :   method   parseLong   (java.lang.Object)

但是我用bufferlist.get(i)).getClass()提示java.lang.String

明明是将String类型加入List中,但是get的是object,是重载的原因吗?如何将这个List中的元素转化成String或Long类型?
先谢谢各位了:)



------解决方案--------------------
buffer = Long.parseLong(bufferlist.get(i))
把这句话改成:
buffer = Long.parseLong((String)bufferlist.get(i))
------解决方案--------------------
Long.parseLong((String)bufferlist.get(i))
这样看看

------解决方案--------------------
应该是1楼所说的了.建议先打印出来调度一下,
String s = (String)bufferlist.get(i);
System.out.println(s);
buffer = Long.parseLong((s));
------解决方案--------------------
但是我用bufferlist.get(i)).getClass()提示java.lang.String
---------------------------------------
即使这样,还是要转型的.