私は、 "mylist"という名前のjavaオブジェクトのArrayListを持っています。 私は文字列としてデータベースからリスト(mylist)の名前を取得しています。私はJAVAでこのリストのサイズを見つけ出し、それを反復処理する必要があります。リスト名が文字列として渡されるArrayListのサイズを調べる
これを行う方法はありますか?
編集: はこちらより明確にするために、私はクラスの「候補」
class Candidate {
String firstName;
String lastName;
List<Education>educationRecords;
.....
}
class Education {
String school;
String degree;
.....
}
を持っている私は、その構造候補オブジェクト(とは非常に異なっているので、使用することはできませんJSONObjectから候補オブジェクトを移入する必要がありますGsonまたはjackson)。
firstName、lastName、school、degreeのような単純なフィールドは、データベースに格納されます。
私はListfieldsをフェッチし、それらを反復して候補オブジェクトを設定します。 firstName、lastNameを設定するために、私はSpELを使用しています。
しかし、学校や学位などの分野では、JSONObjectの教育記録のサイズを知る必要があるため、複雑になります。
学校の分野が教育のクラスにある場合(反射を使用して)、すべてのフィールドを繰り返し処理していたと思ったのですが、私はeducationRecordsが候補クラスのListタイプであるかどうかを確認してから、変数名としてeducationRecordsを取る)を反復処理します。
ロジック「X」がありません。
1.あなたが求めていることはかなり不明です。あなたの状況についてより具体的な詳細を含める必要があります。 2.私の最初の考えは、基本的に、とにかく、最良のアプローチを取っていない可能性が高いことです。これは奇妙なことです。あなたは座って、あなたの一般的なデザインを考え直したいかもしれません。 3.現在行っているようにしている場合は、[公式チュートリアルのリフレクション](https://docs.oracle.com/javase/tutorial/reflect/)を参照してください。それには限界がありますが、あなたに役立つかもしれません。また、switchステートメントでハックすることもできます。 –
私は、あなたが 'ArrayList'を持っていて、そのサイズ、つまり要素の数を探したいと思いますか?なぜあなたは 'mylist.size()'を使わないのですか? –
@TomášM。質問には次のような質問があります:OPには名前を持つArrayList変数があります。 OPはデータベースから文字列を取得します。オペレータは、変数名が検索された文字列と等しいArrayListにアクセスしたい。しかし、適切に答えるには十分な文脈がない。おそらくMap、または大きなスイッチブロック、リフレクション、または再設計。 –