技術情報
ちょっとした調べ物や技術情報を紹介します。
ちょっとした調べ物や技術情報を紹介します。
[intlink id=”133″](前回)の最後に『しかし、まだ改良する余地はあります。ヒントは「メソッドtoString(Collection)がどのように使われるのか?」です。』と謎を残しておきました。今回はその謎解きです。性能に注目して前回のプログラムを見てください。
import java.util.Iterator;
import java.util.Collection;
public class CollectionUtility
{
public static String toString(Collection aCollection)
{
String tString = "";
Iterator tIterator = aCollection.iterator();
if(tIterator.hasNext())
{
tString += tIterator.next();
while(tIterator.hasNext())
tString += ", " + tIterator.next();
}
return tString;
}
}
適切な利用方法とは言えないかもしれないけれども、Entityを一時的に追加しコマンドの入力補助を行うようなものを作って見ました。その時に出会った不可思議な現象に関するメモです。 (さらに…)
Shimadaさんからの報告で、AutoCADのEntityがTransaction中に解放されず、メモリ馬鹿食いしてるとのこと。調査して見たことをまとめておきます。 (さらに…)
前回のプログラムは改良したとは言え、まだまだ突っ込みどころ満載です。そういう訳なので、今回も更に指摘して行きます。
今回はaCollection
の要素を順に取り出す処理の実現方法に注目します。前回のプログラムの何が良くないのか分かりますか?
import java.util.Iterator;
import java.util.Collection;
public class CollectionUtility
{
public static String toString(Collection aCollection)
{
Object tBuffer;
String tString = "";
Iterator tIterator = aCollection.iterator();
for(int i = 0; i < aCollection.size(); i++)
{
if(i == 0)
{
tBuffer = tIterator.next();
tString += tBuffer;
}
else
{
tBuffer = tIterator.next();
tString += ", " + tBuffer;
}
}
return tString;
}
}