在Java中模拟if-in语句

g_r*_*rmz 5 python java if-statement

我用Python编写了几个月,现在我因为工作原因而不得不切换到Java.我的问题是,有一种方法来模拟这种陈述

if var_name in list_name:
    # do something
Run Code Online (Sandbox Code Playgroud)

没有定义一个额外isIn()的布尔函数,扫描list_name以便找到var_name

Yas*_*jaj 12

你正在寻找List#contains从哪个继承Collection#contains(所以你也可以使用它与Set对象)

if (listName.contains(varName)) {
    // doSomething
}
Run Code Online (Sandbox Code Playgroud)

List#contains

如果此列表包含指定的元素,则返回true.更正式地,当且仅当此列表包含至少一个元素e时才返回true(o == null?e == null:o.equals(e)).

如您所见,List#contains用于equals返回true或false.强烈建议@Override您在创建的类中使用此方法hashcode.

  • 如果集合不仅仅是几个元素,那么更有效的替代方法可能是使用Set而不是List,但之后您将使用Set.contains.+ 1 (2认同)