-2
List<VO> list = new ArrayList<VO>();

ほぼ 100 個の項目を含む型の別のリストがあります。次にobject[]、それらの値を反復して入力する必要がありvoます。次のコードを記述します。

for(Object[] obj:list1){
  VO vo = new VO();

   vo.setName(obj[0].toString);
    .....
}

ここでは 100 個のオブジェクトを作成しています。しかし、オブジェクトを作成しすぎると
パフォーマンスが低下すると聞きました。ここでオブジェクトの数を減らす方法はありますか。よろしくお願いします...

4

4 に答える 4

1

list最終的に異なるオブジェクトへの 100 の参照が必要な場合VO、定義上、それらの作成を回避する方法はありません。

あまりにも多くのオブジェクト作成するとパフォーマンスの問題が発生する可能性がありますが、現時点ではおそらく気にする必要はありません。100 個のオブジェクトを作成するのは、一般的に非常に安価です。明確なコードを書き、パフォーマンスを測定することに集中する必要があります。パフォーマンスを向上させるための複雑な方法を考え始めるのは、機能するものの速度が十分ではないものが得られた後です

于 2013-04-26T07:09:28.283 に答える
0

形式型オブジェクトの実際の型は何ですか? 確かに、実際の型はオブジェクトではないため、toString は ObjectID だけを出力します。これがあなたの望むものだなんて信じられません。

では、本当のタイプは何ですか?VOオブジェクトへの型キャストで十分ではないでしょうか?

リスト リスト = (新しい ArrayList()).addAll(list1);

list1 には VO オブジェクトのみが含まれていると仮定します。

于 2013-04-26T07:26:48.250 に答える
0

いいえ、与えられた情報に基づいて、それぞれに対して1 つのV0オブジェクトを作成せずにそれを行う方法はありません。Objectlist1

ただし、Java がこれを行うのを遅らせるべきではありません。100 個のオブジェクトは、実際にはかなり安価な操作です。

余談ですが、変数にはより適切な名前を使用することをお勧めします。あなたのものは紛らわしく、不必要に短いです。

于 2013-04-26T07:09:26.793 に答える
0

次のように、元のオブジェクトへの参照をlist1wnd keep list1available に保持できます。

for(Object[] obj:list1){
  list.add((VO)obj);
}

または:

List<VO> list = new ArrayList<VO>(list1);
于 2013-04-26T07:09:37.247 に答える