System.out.println
を使用して、次のメソッドを呼び出した後にベクトルのサイズを表示すると、文字列パラメータが "7455573;photo41.png;photo42.png
"なので2
と表示されますが、1
が表示されます。なぜこのベクトルのサイズは1ですか?
private void getIdClientAndPhotonames(String csvClientPhotos)
{
Vector vListPhotosOfClient = new Vector();
String chainePhotos = "";
String photoName = "";
String photoDirectory = new String(csvClientPhotos.substring(0, csvClientPhotos.indexOf(';')));
chainePhotos = csvClientPhotos.substring(csvClientPhotos.indexOf(';')+1);
chainePhotos = chainePhotos.substring(0, chainePhotos.lastIndexOf(';'));
if (chainePhotos.indexOf(';') == -1)
{
vListPhotosOfClient.addElement(new String(chainePhotos));
}
else // aaa;bbb;...
{
for (int i = 0 ; i < chainePhotos.length() ; i++)
{
if (chainePhotos.charAt(i) == ';')
{
vListPhotosOfClient.addElement(new String(photoName));
photoName = "";
continue;
}
photoName = photoName.concat(String.valueOf(chainePhotos.charAt(i)));
}
}
}
だから、ベクトルは、2つの文字列photo41.png and photo42.png
が含まれている必要がありますが、私はベクターコンテンツを印刷するとき、私は唯一のphoto41.png
を取得します。
私のコードで何が間違っていますか?
コードをステップ実行するためにデバッガを使用しようとしましたか? –
'addElement'がなぜ2度目に呼び出されないのかを知るために、ブレークポイントで行ごとのデバッグを試みましたか?それは通常問題を理解するのに役立ちます。 –
なぜsipmlyを使用しないのですか?csvClientPhotos.split( ";"); – stacker