この機能は、変数オブジェクトに2種類のリストタイプ、List<String>
またはList<Integer>
を受け取ることがあります。私はこの機能を持っている:関数内のオブジェクトのようにリストを受け取った
private void isAList(Object example)
{
}
私は、次の2つの方法の反復処理することができます
isAList(new ArrayList<String>);
or
isAlist(new ArrayList<Integer>);
私が知りたい、この最初の要素場合ListはStringまたはIntegerです。どのようにしてこのオブジェクトの最初の要素(常にリストを受け取ったか)を知ることができます。これは私のコードです:
private void isAList(Object example)
{
if (example != null && example instanceof List<?> && **FIRST_ELEMENT_OF_example??** instanceof String)
{
for (String cad : (List<String>)example)
{
XXXXXX MY CODE XXXXXX
}
}
}
'!((リスト)の例).isEmpty()&&((リスト)の例).get(0)instanceof String'? – Berger
@Bergerリストが空である場合には小切手を挿入し、その他の場合は素敵な「例外」を得るでしょう。 – Seth
ここでは具体的にするために、このarraylistのすべての要素は文字列になります。数値または数値以外の値を意味すると思いますが、正規表現を使用してそれを検証することができますか? – Yazan