我想知道使用新的编写下面代码的缺点,用于每次重新初始化对象以创建不同的对象值。具有新的性能和内存的Java重新初始化java对象
List <Value> valueList = new ArrayList<>;
Value value = new Value();
value.setData("1");
valueList.add(value);
value = new value();
value.setData("2");
valueList.add(value);
value = new value();
value.setData("3");
valueList.add(value);
或可以添加一个方法返回一个值对象类似:
private Value getData(String input){
Value value = new Value();
value.setData(input);
return value;
}
List <Value> valueList = new ArrayList<>;
valueList.add(getData("1"));
valueList.add(getData("2"));
valueList.add(getData("3"));
代码明智的第二种方法看起来好一点。
请根据内存和性能提出最佳方法。
我不确定你想知道什么。但一般情况下,如果你可以重复使用你的物体,那就去做吧。新对象的创建始终是成本高昂的。但要注意的是,java使用按值调用。看到这里以及:https://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value –
'新'不重新初始化一个对象,它创建一个**新的**对象。 –
“ValueList valueList = new ArrayList <>;”迷惑了我。你的意思是“列表 valueList = new ArrayList <>;”? ArrayList实现了List,但我从来没有听说过称为ValueList的接口。我认为,代码不会编译。 –