List<VO> list = new ArrayList<VO>();
我有另一个类型object[]
的列表,其中包含近100个项目。然后我需要
迭代并将这些值放入vo
。所以我写下面的代码。
for(Object[] obj:list1){
VO vo = new VO();
vo.setName(obj[0].toString);
.....
}
这里我创建了100个对象。但是我听说创建太多的对象会减少 performance.Is有任何方法来减少对象没有。谢谢提前...
答案 0 :(得分:1)
如果您的list
最终必须有100个对不同VO
个对象的引用,那么根据定义,您无法避免创建它们。
虽然创建太多的对象 确实会产生性能问题,但您现在可能不应该担心这一点。一般来说,创建100个对象非常便宜。您应该专注于编写清晰的代码,然后测量性能 - 只有在您获得工作之后才开始尝试考虑提高性能的复杂方法,但不能快速够了。
答案 1 :(得分:0)
不,基于给定的信息,如果没有为V0
中的每个Object
创建一个list1
对象,就无法做到这一点。
但是,Java不应该放慢速度。 100个对象实际上是一个相当便宜的操作。
暂且不说:我建议为变量使用更好的名称。你的混乱和不必要的短暂。
答案 2 :(得分:0)
您可以在list1
中保留对原始对象的引用,并保持list1
可用,如下所示:
for(Object[] obj:list1){
list.add((VO)obj);
}
或者:
List<VO> list = new ArrayList<VO>(list1);
答案 3 :(得分:0)
正式类型对象的真实类型是什么?当然,真正的类型不是对象,然后toString只会打印出ObjectID。我无法相信这就是你想要的。
那么,真正的类型是什么?不会对VO对象进行足够的类型转换吗?
List list =(new ArrayList())。addAll(list1);
假设list1仅包含VO对象。