Java for Androidでこのようなことを行うことは可能ですか(これは擬似コードです)
IF (some_string.equals("john" OR "mary" OR "peter" OR "etc."){
THEN do something
}
?
現時点では、これはそれらの間で複数のString.equals()
条件を介して行われ||
ます。
可能性:
使用String.equals()
:
if (some_string.equals("john") ||
some_string.equals("mary") ||
some_string.equals("peter"))
{
}
正規表現を使用します。
if (some_string.matches("john|mary|peter"))
{
}
照合する文字列のリストをコレクションに保存し、コレクションを検索します。
Set<String> names = new HashSet<String>();
names.add("john");
names.add("mary");
names.add("peter");
if (names.contains(some_string))
{
}
if (Arrays.asList("John", "Mary", "Peter").contains(name)) {
}
許容可能な値をaに保持し、 containsメソッドHashSet
を使用して文字列が存在するかどうかを確認します。
Set<String> accept = new HashSet<String>(Arrays.asList(new String[] {"john", "mary", "peter"}));
if (accept.contains(some_string)) {
//...
}
現在の実装は正しいです。提案は不可能ですが、擬似コードは複数のequal()
呼び出しとで実装されます||
。
Android KitKat以降用に開発する場合は、switchステートメントを使用することもできます(「switch(String)を使用したAndroidコーディング」を参照)。例えば
switch(yourString)
{
case "john":
//do something for john
case "mary":
//do something for mary
}
いいえ、文字列が"john" OR "mary" OR "peter" OR "etc."
を使用して確認する必要があります||
好き。、、if(str.equals("john") || str.equals("mary") || str.equals("peter"))
Pattern p = Pattern.compile("tom"); //the regular-expression pattern
Matcher m = p.matcher("(bob)(tom)(harry)"); //The data to find matches with
while (m.find()) {
//do something???
}
おそらく一致するものを見つけるために正規表現を使用しますか?
またはアレイを作成します
String[] a = new String[]{
"tom",
"bob",
"harry"
};
if(a.contains(stringtomatch)){
//do something
}