String line = in.readLine();
while(line!=null){
sendConfirm();
System.out.println(line);
}
return list;
}
这里我读一行String类型的数据,然后要加到list里,list是MatchedLogRec类型的,我该怎么做??
25 个解决方案
#1
List<Object>
#2
让我把数据放到这里面去?
#3
创建一个MatchedLogRec对象~~~!!!
在这个类中你如果有String类型的字段就set它、没有你创建一个在set它!
完了就创建一个List 、然后add(MatchedLogRec) 对象!
#4
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楼的想法,我这么做行么?
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楼的想法,我这么做行么?
#5
返回类型不能改么
就是说private List<Object> readLog( ) throws LogsReceiveException, Exception{
就是说private List<Object> readLog( ) throws LogsReceiveException, Exception{
#6
你的意思是不是我在MatchedLogRec类里面加一个构造器,
但是这样我怎么才能把line的值加到list里?
#7
这当然不能改,我要的就是这个类型的list,改了我做这些用来干什么
#8
最好还是不要这么做。。感觉会出错
如果不能改返回类型可以像3楼说的增加个属性什么的
如果连类也无法改。。这个貌似没法做了,不可能达到List<MatchedLogRec>里面放一个String
#9
Public class MatchedLogRec
{
private String line;//构造这个对象存String,判断不为null就是你要得String
}
#10
我现在这项目做了一半也没办法测试,蛋疼,不知道对不对
#11
测试下单个方法 随便写个main测试下嘛 或者junit测试下
#12
是这个样子吗?
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;
}
#13
这个没办法测试的,因为里面的方法还没写好,控制台也还没写好
#14
差不多这个意思 也可以不用构造函数嘛 可以用setter
setLine(String line)给对象属性赋值
#15
这个和我刚才那个结果没什么区别把。。
#16
list<?> 把其中的“?”换成你要存放的数据就可以了,如果要放不同类型的数据,可以用list<Object> or list<?>.
#17
用Map 以后不管那个类里有没有那样类型的属性 都可以放进去
#18
直接这么写List要不就这么写List<Object>
#19
首先,不同的类型是指什么?
如果实现同一接口、父类,那么直接List<接口、父类>,正所谓面向接口编程
如果根本没关系的两个东西比如String/Integer/Date/Point,那你混在一起干嘛?
黄豆绿豆分开放很方便,混在一起再分就要死人
如果实现同一接口、父类,那么直接List<接口、父类>,正所谓面向接口编程
如果根本没关系的两个东西比如String/Integer/Date/Point,那你混在一起干嘛?
黄豆绿豆分开放很方便,混在一起再分就要死人
#20
不同类型的数据可以直接add添加阿
但是,添加的时候好添加,取得时候有点难啊
但是,添加的时候好添加,取得时候有点难啊
#21
不要这样做
要么固定List<MatchedLogRec>
要么List<Object>
如果你需要一个String和一个MatchedLogRec,那么可以重构MatchedLogRec,加入String property.
要么固定List<MatchedLogRec>
要么List<Object>
如果你需要一个String和一个MatchedLogRec,那么可以重构MatchedLogRec,加入String property.
#22
List<Object> list = new List<Object>();
list.add(你要放的任意不同类型的数据。如果是基本类型数据。需要封装);
list.add(你要放的任意不同类型的数据。如果是基本类型数据。需要封装);
#23
不要用泛型啊
#24
interface A {
}
interface B extends A{
}
class AA implements A
class BB implements B
List<A> list;
list.add(AA);
list.add(BB);
}
interface B extends A{
}
class AA implements A
class BB implements B
List<A> list;
list.add(AA);
list.add(BB);
#25
是的,不明白楼主为什么要这么做?如果你的业务真的需要这么做,该考虑重写这个方法了
#1
List<Object>
#2
让我把数据放到这里面去?
#3
创建一个MatchedLogRec对象~~~!!!
在这个类中你如果有String类型的字段就set它、没有你创建一个在set它!
完了就创建一个List 、然后add(MatchedLogRec) 对象!
#4
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楼的想法,我这么做行么?
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楼的想法,我这么做行么?
#5
返回类型不能改么
就是说private List<Object> readLog( ) throws LogsReceiveException, Exception{
就是说private List<Object> readLog( ) throws LogsReceiveException, Exception{
#6
你的意思是不是我在MatchedLogRec类里面加一个构造器,
但是这样我怎么才能把line的值加到list里?
#7
这当然不能改,我要的就是这个类型的list,改了我做这些用来干什么
#8
最好还是不要这么做。。感觉会出错
如果不能改返回类型可以像3楼说的增加个属性什么的
如果连类也无法改。。这个貌似没法做了,不可能达到List<MatchedLogRec>里面放一个String
#9
Public class MatchedLogRec
{
private String line;//构造这个对象存String,判断不为null就是你要得String
}
#10
我现在这项目做了一半也没办法测试,蛋疼,不知道对不对
#11
测试下单个方法 随便写个main测试下嘛 或者junit测试下
#12
是这个样子吗?
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;
}
#13
这个没办法测试的,因为里面的方法还没写好,控制台也还没写好
#14
差不多这个意思 也可以不用构造函数嘛 可以用setter
setLine(String line)给对象属性赋值
#15
这个和我刚才那个结果没什么区别把。。
#16
list<?> 把其中的“?”换成你要存放的数据就可以了,如果要放不同类型的数据,可以用list<Object> or list<?>.
#17
用Map 以后不管那个类里有没有那样类型的属性 都可以放进去
#18
直接这么写List要不就这么写List<Object>
#19
首先,不同的类型是指什么?
如果实现同一接口、父类,那么直接List<接口、父类>,正所谓面向接口编程
如果根本没关系的两个东西比如String/Integer/Date/Point,那你混在一起干嘛?
黄豆绿豆分开放很方便,混在一起再分就要死人
如果实现同一接口、父类,那么直接List<接口、父类>,正所谓面向接口编程
如果根本没关系的两个东西比如String/Integer/Date/Point,那你混在一起干嘛?
黄豆绿豆分开放很方便,混在一起再分就要死人
#20
不同类型的数据可以直接add添加阿
但是,添加的时候好添加,取得时候有点难啊
但是,添加的时候好添加,取得时候有点难啊
#21
不要这样做
要么固定List<MatchedLogRec>
要么List<Object>
如果你需要一个String和一个MatchedLogRec,那么可以重构MatchedLogRec,加入String property.
要么固定List<MatchedLogRec>
要么List<Object>
如果你需要一个String和一个MatchedLogRec,那么可以重构MatchedLogRec,加入String property.
#22
List<Object> list = new List<Object>();
list.add(你要放的任意不同类型的数据。如果是基本类型数据。需要封装);
list.add(你要放的任意不同类型的数据。如果是基本类型数据。需要封装);
#23
不要用泛型啊
#24
interface A {
}
interface B extends A{
}
class AA implements A
class BB implements B
List<A> list;
list.add(AA);
list.add(BB);
}
interface B extends A{
}
class AA implements A
class BB implements B
List<A> list;
list.add(AA);
list.add(BB);
#25
是的,不明白楼主为什么要这么做?如果你的业务真的需要这么做,该考虑重写这个方法了