ScalaマップにはキーX
が含まれています。 値は、文字列Array("Y")
の配列か、単純なStringオブジェクト"Y"
のいずれかです。 Iの値が配列の場合値が文字列と等しいか文字列を含む配列かを確認します
mayMap("X")=="Y"
または、値が文字列であればマップ及び試験
から値を取得する必要があります。
myMap("X").contains("Y")
私が最初にすべての値の最初の型をチェックするif
声明文を使用する必要はありません。 1つのオプションは、値が配列であれば配列を返し、そうでなければマップに含まれる単一の文字列要素で配列を作成する関数を書くことです。それでは、コールは次のようになります。
myToArrayFunction(myMap("X")).contains("Y")
これは私がJavaで実際に行うことです。
これはScalaです。既存の関数を使用してこれを1行で行うのがより良いイディオムですか?
ので、あなたのマップの種類があるの? 'Map [String、Any]'かこれに類するもの? – mfirry
はい、それは正しいです – user1052610
私はむしろ 'Map [String、Either [String、Array [String]]'のようなものを使用したい – mfirry