private  List<MatchedLogRec>  readLog( ) throws  LogsReceiveException, Exception{
String line = in.readLine();

while(line!=null){
sendConfirm();
  System.out.println(line);
}

return list;

}
这里我读一行String类型的数据,然后要加到list里,list是MatchedLogRec类型的,我该怎么做??

解决方案 »

  1.   

       创建一个MatchedLogRec对象~~~!!!
       在这个类中你如果有String类型的字段就set它、没有你创建一个在set它!
    完了就创建一个List 、然后add(MatchedLogRec) 对象!
      

  2.   

    private  List<MatchedLogRec>  readLog( ) throws  LogsReceiveException, Exception{
    String line = in.readLine();
    List<Object> l = new ArrayList<Object>();
    while(line!=null){
    sendConfirm();
    l.add(line);
      System.out.println(line);
    }
    list.addAll((Collection<? extends MatchedLogRec>) l);

    return list;

    }按照1楼的想法,我这么做行么?
      

  3.   

    返回类型不能改么
    就是说private List<Object> readLog( ) throws LogsReceiveException, Exception{
      

  4.   


    你的意思是不是我在MatchedLogRec类里面加一个构造器,
    但是这样我怎么才能把line的值加到list里?
      

  5.   

    这当然不能改,我要的就是这个类型的list,改了我做这些用来干什么
      

  6.   

    最好还是不要这么做。。感觉会出错
    如果不能改返回类型可以像3楼说的增加个属性什么的
    如果连类也无法改。。这个貌似没法做了,不可能达到List<MatchedLogRec>里面放一个String
      

  7.   

    Public class MatchedLogRec
    {
        private String line;//构造这个对象存String,判断不为null就是你要得String
    }
      

  8.   

    测试下单个方法 随便写个main测试下嘛 或者junit测试下
      

  9.   


    是这个样子吗?
    private  List<MatchedLogRec>  readLog( ) throws  LogsReceiveException, Exception{
    String line = in.readLine();
    MatchedLogRec m = new MatchedLogRec(line);
    while(line!=null){
    sendConfirm();
    list.add(m);
      System.out.println(line);
    }

    return list;

    }
      

  10.   

    差不多这个意思 也可以不用构造函数嘛 可以用setter
    setLine(String line)给对象属性赋值
      

  11.   

    list<?> 把其中的“?”换成你要存放的数据就可以了,如果要放不同类型的数据,可以用list<Object> or list<?>.
      

  12.   

    用Map   以后不管那个类里有没有那样类型的属性 都可以放进去
      

  13.   

    直接这么写List要不就这么写List<Object>
      

  14.   

    首先,不同的类型是指什么?如果实现同一接口、父类,那么直接List<接口、父类>,正所谓面向接口编程如果根本没关系的两个东西比如String/Integer/Date/Point,那你混在一起干嘛?
    黄豆绿豆分开放很方便,混在一起再分就要死人
      

  15.   

    不同类型的数据可以直接add添加阿
    但是,添加的时候好添加,取得时候有点难啊
      

  16.   

    不要这样做
    要么固定List<MatchedLogRec>
    要么List<Object>
    如果你需要一个String和一个MatchedLogRec,那么可以重构MatchedLogRec,加入String property.
      

  17.   

    List<Object> list = new List<Object>();
    list.add(你要放的任意不同类型的数据。如果是基本类型数据。需要封装);
      

  18.   

    interface A {}interface B extends A{}class AA implements A
    class BB implements BList<A> list;
    list.add(AA);
    list.add(BB);