読む時間を節約するために、問題をコードで示して質問を開始します。問題:
- ArrayList に 3 つの値を持つ string[] を正しく保存できません。
-ArrayList 内の配列の値を変更できません。
List<String> objects= new ArrayList<String>();
//creates an object to be saved in an arrayList which it will be printed to a file.
custFile(long ID, int acc, String trans)
{
String customer = bank.infoCustomer(iD);
String account = Integer.toString(acc); //bank.infoAccount(iD, acc);
String transactions;
if(trans == "")
{
transactions = "\nNo transactions made\n";
}
else transactions ="\nTransactions : " + trans;
//My string array with three values.
String[] obj = {customer, account, transactions};
if(!objects.isEmpty())
{
int n = objects.size();
int p = 0;
for(int i = 0; i < objects.subList(p, n).size(); i++)
{
if(!objects.listIterator(i).equals(obj))
{
objects.addAll(Arrays.asList(obj));
return; //needed?
}
else
{
//Remove in order to update
objects.remove(i);
//Add to the List
objects.addAll(Arrays.asList(obj));
}
}
else
//Add String[] the first time and only time.
objects.addAll(Arrays.asList(obj));
ArrayList から文字列 (3 つの値を含む) を削除すると、文字列の 3 番目の値を含む 2 つの奇妙な行が残ります。
0
//この
トランザクション : null
ArrayList を追加および削除し、反復処理するさまざまな方法を試しましたが、何も機能していないようです。
追加: 文字列値を繰り返します。
削除: 途中で動作します。
反復: 比較または削除する正確な要素が得られません。
My String[] obj = {顧客、アカウント、トランザクション}; 印刷すると、次のようになります。
//お客様
3:ハ
//アカウント
口座タイプ: 普通預金口座 1005
バランス: 0.0
口座タイプ: クレジット口座 1006
バランス: 0.0
//トランザクション
0
トランザクション : null
また、ArrayList には、同様の値 (顧客、アカウント、トランザクションの 3 つ) を持つ多くの文字列が含まれています。
このメソッドを使用してオブジェクトを更新できるはずです。
少し押していただければ幸いです。